我有一些元组列表:
a = [('3 232', 'm3', 'brutto'), ('1', 'm', 'netto_brutto_unknown'), ('90', 'cm3', 'netto_brutto_unknown')]
Run Code Online (Sandbox Code Playgroud)
我尝试按每个元组中的第一个元素对其进行排序:
sorted(a, key=lambda x: int(x.strip()[0]))
Run Code Online (Sandbox Code Playgroud)
但是我有AttributeError:
AttributeError:“ tuple”对象没有属性“ strip”
为什么这样做以及如何删除每个第一个元组元素中的空格?
我会很感激的
您的意思x[0].strip()不是x.strip()[0],但即使那样也无法达到您的期望。
strip从字符串的开头和结尾删除字符。您应该使用replace:
x[0].replace(' ', '')
Run Code Online (Sandbox Code Playgroud)
总体而言:
sorted(a, key=lambda x: int(x[0].replace(' ', ''))
Run Code Online (Sandbox Code Playgroud)