python list排序问题?

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

ITMISS
浏览 868回答 1
1回答

开满天机

可以用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()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python