当我尝试对元组列表进行排序时,如何使用 split() 运算符?

我有一些元组列表:

a = [('3 232', 'm3', 'some_value'), ('1', 'm', 'some_value'), ('90', 'cm3', 'some_value')]

我尝试按每个元组中的第一个元素对其进行排序:

sorted(a, key=lambda x: int(x.strip()[0]))

但我有 AttributeError:

AttributeError:“元组”对象没有属性“条带”

为什么会这样以及如何删除每个第一个元组元素中的空格?

我将不胜感激


牧羊人nacy
浏览 147回答 1
1回答

慕慕森

你的意思是x[0].strip(),不是x.strip()[0],但即使这样也不会达到你的预期。strip从字符串的开头和结尾删除字符。你应该使用replace:x[0].replace(' ', '')整体而言:sorted(a, key=lambda x: int(x[0].replace(' ', ''))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python