我是一个初学者。
请解释为什么list_b
对此简单代码没有价值。
list_a = [3,2,1,4]
list_b = list_a.sort()
print(list_a,list_b)
我认为list_b的值为list_a.sort()
,[3,2,1,4]
但值为None
。请有人帮我理解这一点。
答案 0 :(得分:2)
您可以尝试使用
list_b = sorted(list_a)
或
list_a = [3,2,1,4]
print(list_a)
list_a.sort()
print(list_a)
sorted()从迭代构建一个新的排序列表, 保留原始列表不受影响。
list.sort()对列表就地进行排序,改变列表索引, 它就地修改列表(并返回None以避免混淆)。 通常它比sorted()更不方便 - 但如果你不需要 原始列表,效率稍高。
查看How to sort的更多详情。
答案 1 :(得分:1)
我想你想这样做:
list_a = [3,2,1,4]
list_b = sorted(list_a)
print(list_a,list_b)
如果你这样做
list_a = [3,2,1,4]
list_a.sort()
print(list_a)
您会理解list_a.sort()
会影响正确的list_a