我想对列表进行数字排序
s = [['92', '022'],['82','12'],['77','13']]
所以我曾经
s = [list( map(int,i) ) for i in s]
s.sort()
和输出来了
[[77, 13],[82, 12],[92, 22]]
但我想保持22不变,即“ 022”
所以,我的问题是如何防止前导零!
解决方法:
您可以通过以下键来使用sorted,这样您就可以避免使用列表推导来转换实际值:
sorted(l, key = lambda x: int(x[0]))
[['77', '13'], ['82', '12'], ['92', '022']]
您也可以使用@aws_apprentice建议的operators.itemgetter
:
sorted(l, key = lambda x: int(itemgetter(0)(x)))
[['77', '13'], ['82', '12'], ['92', '022']]