我想按数字排序
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
与以下key
一起使用,这样您就可以避免使用列表理解来转换实际值:
sorted(l, key = lambda x: int(x[0]))
[['77', '13'], ['82', '12'], ['92', '022']]
您也可以按照@aws嫒学徒的建议使用
operators.itemgetter
:sorted(l, key = lambda x: int(itemgetter(0)(x)))
[['77', '13'], ['82', '12'], ['92', '022']]