我有一个元组列表,如下所示:
listTup = [('5.1','@1fedb3d2',1), ('5.10','@79109bbe',1), ('5.3','@b52bd219',1), ('5.2','@e4e9b43e',1), ('5.11','@2538bf70',1)]
并希望使用每个元组中的第一个元素(其中第一个元素是版本号)对其进行排序,以便最终结果为:
listTup = [('5.1','@1fedb3d2',1), ('5.2','@e4e9b43e',1), ('5.3','@b52bd219',1), ('5.10','@79109bbe',1),('5.11','@2538bf70',1)]
我能够通过增加版本号对列表进行排序
list.sort(key=lambda s: map(int, s.split('.')))
但当以以下方式与元组列表一起使用时:
listTup = *sorted(listTup,key=lambda s: map(int, s.split('.')))
产生错误
'tuple' object has no attribute 'split'
我相信这只是一个简单的问题,通过将前一行代码与
listTup.sort(key=lambda x: x[0])
但我一直无法找到如何做到这一点。我还必须注意,我无法使用numpy这样的库,因为我正在编写的软件无法导入库和包
正确的方法是:
key=lambda函数从列表中接收无法拆分的元组。相反,您需要元组的第一个元素x[0]。在split(返回一个列表)之后,您需要第二个元素()[1],它是您想要的键
相关问题 更多 >
编程相关推荐