.sort()
và .reverse()
thay đổi danh sách tại chỗ và trở None
Xem mutable sequence documentation:
Các sort()
và reverse()
phương pháp sửa đổi danh sách tại chỗ cho nền kinh tế của không gian khi sắp xếp hoặc đảo ngược một danh sách lớn. Để nhắc bạn rằng chúng hoạt động theo hiệu ứng phụ, chúng không trả về danh sách được sắp xếp hoặc được đảo ngược.
Làm điều này thay vì:
a.sort()
print(a)
a.reverse()
print(a)
hoặc sử dụng các chức năng sorted()
và 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
Những phương pháp này trả về một danh sách mới và rời khỏi danh sách đầu vào gốc hoang sơ.
Demo, tại chỗ phân loại và đảo ngược:
>>> 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]
Và việc tạo mới phân loại và đảo ngược danh sách:
>>> 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]
Chúng ta nên làm cho câu trả lời chuẩn cho tất cả các bản sao của câu hỏi này – jamylak