python list排序问题

如果list元素全部为字符串,但是字符串可以转化为数组,如['1','2','11','22']
在默认的.list.sort()函数执行后,排序的结果是['1','11','2','22']
现在的问题是,我想按照数字大小进行排序,请问能够同过sort中的cmp或key参数实现吗。谢谢。因为讲字符串转化为数字再进行排序我已经实现,所以这种方法就不需要讲了 。谢谢
能讲讲sort后面几个参数各有什么用吗?谢谢

可以用
list.sort(key = int)

key的最用相当于构建值,列表中的每个值实际上会转变为key(value),上例则为 int(value)

也就是 ['1','2','11','22'].sort(key = int)相当于[int('1'),int('2'),int('11'),int('22')].sort()

key可以理解为用于list comprehension的函数 ['1','2','11','22'].sort(key = int) 相当于
[int(x) for x in ['1','2','11','22'] ].sort()
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-04
sorted(i,key=int)

参考资料:

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网