Python - Sắp xếp danh sách
Sắp xếp danh sách theo thứ tự chữ cái
Các đối tượng danh sách có một phương thức sort()
sẽ sắp xếp danh sách theo thứ tự chữ và số, tăng dần theo mặc định:
Ví dụ
Sắp xếp danh sách theo thứ tự bảng chữ cái:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort()
print(thislist)
Hãy tự mình thử »Ví dụ
Sắp xếp danh sách theo số:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
Hãy tự mình thử »Sắp xếp giảm dần
Để sắp xếp giảm dần, hãy sử dụng từ khóa đối số reverse = True
:
Ví dụ
Sắp xếp danh sách giảm dần:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
Hãy tự mình thử »Ví dụ
Sắp xếp danh sách giảm dần:
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
Hãy tự mình thử » Tùy chỉnh chức năng sắp xếp
Bạn cũng có thể tùy chỉnh chức năng của riêng mình bằng cách sử dụng từ khóa đối số key = function
.
Hàm sẽ trả về một số sẽ được sử dụng để sắp xếp danh sách (số thấp nhất trước):
Ví dụ
Sắp xếp danh sách dựa trên mức độ gần với số 50:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key =
myfunc)
print(thislist)
Hãy tự mình thử »Sắp xếp không phân biệt chữ hoa chữ thường
Theo mặc định, phương thức sort()
phân biệt chữ hoa chữ thường, dẫn đến tất cả các chữ cái viết hoa được sắp xếp trước chữ cái viết thường:
Ví dụ
Việc sắp xếp phân biệt chữ hoa chữ thường có thể cho kết quả không mong muốn:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
Hãy tự mình thử »May mắn thay, chúng ta có thể sử dụng các hàm dựng sẵn làm các hàm chính khi sắp xếp danh sách.
Vì vậy, nếu bạn muốn hàm sắp xếp không phân biệt chữ hoa chữ thường, hãy sử dụng str.low làm hàm chính:
Ví dụ
Thực hiện sắp xếp danh sách không phân biệt chữ hoa chữ thường:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key
= str.lower)
print(thislist)
Hãy tự mình thử »Thứ tự ngược lại
Điều gì sẽ xảy ra nếu bạn muốn đảo ngược thứ tự của một danh sách, bất kể bảng chữ cái?
Phương thức reverse()
đảo ngược thứ tự sắp xếp hiện tại của các phần tử.
Ví dụ
Đảo ngược thứ tự của các mục trong danh sách:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)
Hãy tự mình thử »