我有一个这样的列表
numbers = [1 ,4,2,6,7,3]
我想按降序排列此列表。
#
numbers.sort().reverse()
print(numbers)
这是我尝试过的。但这不起作用,只是显示错误消息。
number.sort()
number.reverse()
print(numbers)
这很好,但是似乎太长了。
第一个有什么问题?
为什么在'numbers.sort().reverse()
'的情况下不能附加两个功能?
为什么有些代码可以很好地结合在一起,而另一些却不能呢?
非常感谢您!
答案 0 :(得分:2)
在Python中,$location = ($addressLocality && $addressRegion) ? $addressLocality.','.$addressRegion : '';
具有内置参数sort()
:
reverse
它也不返回一个值;而是只操作被调用的列表,因此之后的numbers.sort(reverse=True)
将看不到要反转的值。
答案 1 :(得分:2)
这取决于函数返回什么。 list.sort
返回None
,因为它会修改列表到位而不是返回新列表。您可以将reverse=True
传递给sort
来完成所需的功能,而无需使用其他功能。您可以使用sorted
函数执行相同的操作,该函数会生成一个新列表:
l = [1, 2, 1]
print(sorted(l, reverse=True)) # [2, 1, 1]
print(l) # [1, 2, 1]
l.sort(reverse=True)
print(l) # [2, 1, 1]
答案 2 :(得分:1)
那是因为sort不会返回列表,因此您不能对None type
您正在对inplace
进行排序,例如,更改相同实例
基本上,您在进行排序时不会收到数组的排序副本
list_ = [1, 2, 3, 4, 2, 3, 7]
print(list_.sort()) # None
要在同一行上执行所有操作,可以执行以下操作:
sorted(list_, reverse=True)
答案 3 :(得分:1)
这是因为sort仅对当前列表进行排序,但不返回任何内容。
使用类似new= sorted(l)[::-1]