Amr*_*kri 7 python sorting list
我试图根据我正在阅读的教程测试python中的列表是如何工作的.当我试图使用list.sort()或时list.reverse(),翻译给了我None.
请告诉我如何从这两种方法中获得结果:
a = [66.25, 333, 333, 1, 1234.5]
print(a.sort())
print(a.reverse())
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 36
.sort()和.reverse()更改列表中的位置,并返回None参见可变序列文件:
这些
sort()和reverse()方法在排序或反转大型列表时修改列表以便经济空间.为了提醒您它们是由副作用操作的,它们不会返回已排序或反转的列表.
改为:
a.sort()
print(a)
a.reverse()
print(a)
Run Code Online (Sandbox Code Playgroud)
或使用sorted()和reversed()功能.
print(sorted(a)) # just sorted
print(list(reversed(a))) # just reversed
print(a[::-1]) # reversing by using a negative slice step
print(sorted(a, reverse=True)) # sorted *and* reversed
Run Code Online (Sandbox Code Playgroud)
这些方法返回一个新列表并保持原始输入列表不变.
演示,就地排序和倒车:
>>> a = [66.25, 333, 333, 1, 1234.5]
>>> a.sort()
>>> print(a)
[1, 66.25, 333, 333, 1234.5]
>>> a.reverse()
>>> print(a)
[1234.5, 333, 333, 66.25, 1]
Run Code Online (Sandbox Code Playgroud)
并创建新的排序和反转列表:
>>> a = [66.25, 333, 333, 1, 1234.5]
>>> print(sorted(a))
[1, 66.25, 333, 333, 1234.5]
>>> print(list(reversed(a)))
[1234.5, 1, 333, 333, 66.25]
>>> print(a[::-1])
[1234.5, 1, 333, 333, 66.25]
>>> print(sorted(a, reverse=True))
[1234.5, 333, 333, 66.25, 1]
>>> a # input list is untouched
[66.25, 333, 333, 1, 1234.5]
Run Code Online (Sandbox Code Playgroud)