如果list元素全部为字符串,但是字符串可以转化为数组,如['1','2','11','22']
在默认的.list.sort()函数执行后,排序的结果是['1','11','2','22']
现在的问题是,我想按照数字大小进行排序,请问能够同过sort中的cmp或key参数实现吗。谢谢。因为讲字符串转化为数字再进行排序我已经实现,所以这种方法就不需要讲了 。谢谢
能讲讲sort后面几个参数各有什么用吗?谢谢
python list排序问题
答案:2 悬赏:20 手机版
解决时间 2021-03-14 02:54
- 提问者网友:别再叽里呱啦
- 2021-03-13 17:59
最佳答案
- 五星知识达人网友:平生事
- 2021-03-13 19:05
可以用
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()
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楼网友:空山清雨
- 2021-03-13 19:32
data = [('a', 3), ('b', 4), ('a', 4)]
print sorted(data, key=lambda t: (-t[1], t[0]))输出:
[('a', 4), ('b', 4), ('a', 3)]
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯