2 g mumuxi G_mumuxi 于 2016.02.15 19:31 提问

python中zip后进行sort,但是print结果是None,琢磨很久了

我根据网上找的——

a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
c=zip(a,b)
c
[(0, 9), (1, 8), (2, 7), (3, 6), (4, 5), (5, 4), (6, 3), (7, 2), (8, 1), (9, 0)]
c.sort(key=lambda x:x[1])
c
[(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1, 8), (0, 9)]
用vim写了个python脚本,
我用的是a=c.sort(key=lambda x:x[1])
然后print a
为什么在linux上运行的结果是None?

3个回答

oyljerry
oyljerry   Ds   Rxr 2016.02.15 22:07
已采纳

sort是对list自身排序的 所以你可以打印print c 而a根本没获取数据

ForestDB
ForestDB   Rxr 2016.02.15 22:14

c.sort()的返回值为None
(另,c.sort()修改了对象c)

qq_23660243
qq_23660243   2016.02.16 08:52

1楼正解 sort方法不返回副本 他是在原list的操作 你要取c 此时的c应该已经变化了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!