无法在python中对多列表进行排序
我试图在一个列表中对列表进行排序,但失败了,我的代码是否有问题无法在python中对多列表进行排序,python,Python,我试图在一个列表中对列表进行排序,但失败了,我的代码是否有问题 x = [[int(i)] for i in raw_input().split()] print x q = x.sort(key=lambda p: p[0]) print q 在此之前,我尝试过更简单的代码,例如: x = [[int(i)] for i in raw_input().split()] print (x.sort()) 但这两种情况的结果是相同的: 列表。排序是一种就地操作,返回无。因此您正在分配无 如果
x = [[int(i)] for i in raw_input().split()]
print x
q = x.sort(key=lambda p: p[0])
print q
在此之前,我尝试过更简单的代码,例如:
x = [[int(i)] for i in raw_input().split()]
print (x.sort())
但这两种情况的结果是相同的:
列表。排序
是一种就地操作,返回无
。因此您正在分配无
如果希望将新的列表作为值返回,请使用排序的:
q = sorted(x, key=...)
print(q)
如果您想就地变异x
,请使用:
x.sort(...)
print(x)
提示-要获得一个简单的列表,请使用:
from itertools import chain
q = list(chain.from_iterable(x))
现在,如果要排序:
q = sorted(q) # no need for key
x.sort
就地修改,它不会返回已排序的列表。。。它已经就位了。。。所以你想再次打印(x),而不是q
。还有-你真的想要一个列表吗?看起来像是一个简单的int
s列表就可以了。x.sort()
不返回值。不要这样做q=x.sort(…)