sort list trong python | Laptrinhcanban.com

HOME › >>

sort list trong python

Trong lập trình, việc sắp xếp dữ liệu là một phần quan trọng của việc xử lý thông tin. Python, với các thư viện và chức năng mạnh mẽ, cung cấp nhiều cách tiếp cận để sắp xếp list (danh sách) của mình. Trong bài viết này, chúng ta sẽ tìm hiểu về cách sắp xếp list (sort list) trong Python và các kỹ thuật liên quan.

Sắp Xếp Theo Thứ Tự Tăng Dần và Giảm Dần

Sắp xếp tăng dần với hàm sorted()

Cách đơn giản nhất để sắp xếp list tăng dần là sử dụng hàm sorted().

numbers = [5, 2, 9, 1, 5, 6, 8]
sorted_numbers = sorted(numbers)

Khi bạn sử dụng sorted(), Python sẽ tạo ra một bản sao của list gốc và trả về list đã được sắp xếp.

Sắp xếp giảm dần với hàm sorted()

Để sắp xếp list giảm dần, bạn có thể sử dụng tham số reverse=True.

numbers = [5, 2, 9, 1, 5, 6, 8]
sorted_numbers_reverse = sorted(numbers, reverse=True)

Khi bạn đặt reverse=True, Python sẽ sắp xếp list theo thứ tự giảm dần.

Sắp xếp list bằng phương thức sort()

Ngoài hàm sorted(), phương thức sort() cũng cho phép bạn sắp xếp list tăng dần.

numbers = [5, 2, 9, 1, 5, 6, 8]
numbers.sort()

Phương thức sort() sẽ sắp xếp list gốc (không tạo ra bản sao) theo thứ tự tăng dần.

Sắp xếp giảm dần bằng phương thức sort()

Để sắp xếp list giảm dần bằng phương thức sort(), bạn cũng có thể sử dụng tham số reverse=True.

numbers = [5, 2, 9, 1, 5, 6, 8]
numbers.sort(reverse=True)

Phương thức sort() cũng sẽ sắp xếp list theo thứ tự giảm dần khi bạn đặt reverse=True.

Sắp Xếp List chứa Chuỗi

Sắp xếp chuỗi theo thứ tự bảng chữ cái

Khi sắp xếp list chứa chuỗi, Python sẽ mặc định sử dụng thứ tự bảng chữ cái.

fruits = ["apple", "banana", "cherry", "date"]
sorted_fruits = sorted(fruits)

Kết quả sẽ là ['apple', 'banana', 'cherry', 'date'] vì các chữ cái trong chuỗi được sắp xếp theo thứ tự bảng chữ cái.

Sắp xếp chuỗi theo độ dài

Bạn cũng có thể sắp xếp chuỗi theo độ dài sử dụng tham số key=len.

fruits = ["apple", "banana", "cherry", "date"]
sorted_fruits_by_length = sorted(fruits, key=len)

Kết quả sẽ là ['date', 'apple', 'cherry', 'banana'] vì các chuỗi được sắp xếp theo độ dài tăng dần.

Sắp Xếp list Có Các Đối Tượng Phức Tạp

Nếu bạn có list chứa các đối tượng phức tạp (ví dụ: các từ điển hoặc các đối tượng tùy chỉnh), bạn có thể sử dụng tham số key để chỉ định cách sắp xếp.

students = [
{"name": "John", "age": 25},
{"name": "Jane", "age": 22},
{"name": "Jim", "age": 30}
]

sorted_students_by_age = sorted(students, key=lambda x: x["age"])

Kết quả sẽ là [ {'name': 'Jane', 'age': 22}, {'name': 'John', 'age': 25}, {'name': 'Jim', 'age': 30} ] vì list students được sắp xếp theo tuổi tăng dần.

Sắp Xếp List với Các Trường Hợp Đặc Biệt

Khi sắp xếp list, cần xem xét các trường hợp đặc biệt:

Sắp xếp list theo một tiêu chí riêng

class Student:
def __init__(self, name, age):
self.name = name
self.age = age

def __repr__(self):
return f"{self.name} ({self.age} years old)"

students = [
Student("John", 25),
Student("Jane", 22),
Student("Jim", 30)
]

sorted_students = sorted(students, key=lambda x: x.age, reverse=True)

Trong ví dụ này, list students được sắp xếp theo tuổi gi

ảm dần sử dụng thuộc tính age của các đối tượng Student.

Sắp xếp list bằng phương thức sort() với sự tùy chỉnh

class Student:
def __init__(self, name, age):
self.name = name
self.age = age

def __lt__(self, other):
return self.age < other.age

students = [
Student("John", 25),
Student("Jane", 22),
Student("Jim", 30)
]

students.sort(reverse=True)

Trong ví dụ này, chúng ta đã định nghĩa phương thức __lt__ (less than) cho lớp Student để tùy chỉnh cách sắp xếp. Sau đó, list students được sắp xếp theo tuổi giảm dần bằng phương thức sort().

Kết Luận

Trên đây Kiyoshi đã hướng dẫn bạn về cách sort list trong python rồi. Sắp xếp list là một phần quan trọng của việc xử lý dữ liệu trong lập trình. Python cung cấp nhiều cách tiếp cận và công cụ mạnh mẽ để bạn có thể sắp xếp dữ liệu của mình theo nhiều cách khác nhau. Hiểu cách sắp xếp list trong Python giúp bạn tận dụng sức mạnh của ngôn ngữ này để giải quyết nhiều vấn đề khác nhau trong lập trình.

URL Link

https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/list-trong-python/sort-list-trong-python/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.