Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách sắp xếp danh sách chuỗi trong Python


Trong hướng dẫn này, ta xem cách sắp xếp danh sách chuỗi. Ta sẽ sắp xếp list chuỗi cho trước bằng phương thức sort và hàm sorted. Sau đó xem cách sắp xếp dựa trên tiêu chí khác nhau như độ dài, giá trị, v.v.

Xem cách sắp xếp list chuỗi dùng phương thức list.sort(). Phương thức sort sắp xếp tại chỗ (in-place). Nó sắp xếp trực tiếp list gốc. Xem mã.

Ví dụ

# Danh sách chuỗi
strings = ['Python', 'C', 'Java', 'Javascript', 'React', 'Django', 'Spring']
# Sắp xếp list tăng dần
strings.sort()
# In list đã sắp xếp
print(strings)

Kết quả

Nếu chạy chương trình trên, bạn sẽ nhận được kết quả sau.

['C', 'Django', 'Java', 'Javascript', 'Python', 'React', 'Spring']

Ta có thể sắp xếp list giảm dần với đối số reverse là True cho sort. Xem mã sắp xếp giảm dần.

Ví dụ

# Danh sách chuỗi
strings = ['Python', 'C', 'Java', 'Javascript', 'React', 'Django', 'Spring']
# Sắp xếp list giảm dần
strings.sort(reverse=True)
# In list đã sắp xếp
print(strings)

Kết quả

Nếu chạy chương trình trên, bạn sẽ nhận được kết quả sau.

['Spring', 'React', 'Python', 'Javascript', 'Java', 'Django', 'C']

Ta đã thấy sắp xếp list chuỗi dùng sort. Xem cách sắp xếp dùng hàm sorted tích hợp sẵn.

Ví dụ

# Danh sách chuỗi
strings = ['Python', 'C', 'Java', 'Javascript', 'React', 'Django', 'Spring']
# Sắp xếp list tăng dần
sorted_strings = sorted(strings)
# In list đã sắp xếp
print(sorted_strings)

Kết quả

Nếu chạy chương trình trên, bạn sẽ nhận được kết quả sau.

['C', 'Django', 'Java', 'Javascript', 'Python', 'React', 'Spring']

Ta cũng sắp xếp giảm dần dùng sorted truyền reverse=True làm đối số thứ hai. Xem mã.

Ví dụ

# Danh sách chuỗi
strings = ['Python', 'C', 'Java', 'Javascript', 'React', 'Django', 'Spring']
# Sắp xếp list giảm dần
sorted_strings = sorted(strings, reverse=True)
# In list đã sắp xếp
print(sorted_strings)

Kết quả

Nếu chạy chương trình trên, bạn sẽ nhận được kết quả sau.

['Spring', 'React', 'Python', 'Javascript', 'Java', 'Django', 'C']

Làm sao sắp xếp list chuỗi dựa trên độ dài? Ta sắp xếp theo độ dài dùng sort và sorted truyền key làm đối số. Xem cách sắp xếp theo độ dài.

Ví dụ

# Danh sách chuỗi
strings = ['Python', 'C', 'Java', 'Javascript', 'React', 'Django', 'Spring']
# Sắp xếp list tăng dần - độ dài
strings.sort(key=len)
# In list đã sắp xếp
print(strings)

Kết quả

Nếu chạy chương trình trên, bạn sẽ nhận được kết quả sau.

['C', 'Java', 'React', 'Python', 'Django', 'Spring', 'Javascript']

Ta có thể truyền bất kỳ hàm nào cho đối số key. Phương thức sort sẽ sắp xếp list dựa trên giá trị trả về của hàm cho key. Cái tương tự cũng hoạt động với hàm sorted.

Xem ví dụ dùng sorted sắp xếp list chuỗi dựa trên giá trị số.

Ví dụ

# Danh sách chuỗi
strings = ['7', '34', '3', '23', '454', '12', '9']
# Sắp xếp list tăng dần - giá trị int
sorted_strings = sorted(strings, key=int)
# In list đã sắp xếp
print(sorted_strings)

Kết quả

Nếu chạy chương trình trên, bạn sẽ nhận được kết quả sau.

['3', '7', '9', '12', '23', '34', '454']

Kết luận

Ta có thể truyền key và reverse cùng lúc cho sort và sorted để đạt mục đích. Thử và khám phá. Nếu có thắc mắc, hãy đề cập ở phần bình luận.