Python sắp xếp danh sách các bộ dữ liệu giảm dần
Bạn có phải sắp xếp danh sách các bộ dữ liệu trong chương trình Python của mình không? Show
Cách đầu tiên để sắp xếp một danh sách các bộ dữ liệu là sử dụng hàm sorted() của Python để trả về một danh sách các bộ dữ liệu được sắp xếp mới. Một cách khác là phương thức list sort() không trả về danh sách mới nhưng cập nhật danh sách ban đầu tại chỗ. Cả sorted() và sort() đều chấp nhận khóa đối số tùy chọn và đảo ngược để cung cấp các tùy chọn sắp xếp bổ sung Chúng ta sẽ đi qua một số ví dụ sẽ chỉ cho bạn cách sử dụng sorted() và sort() Bắt đầu nào Mục lục Cách sắp xếp danh sách các bộ dữ liệu bằng hàm SortedHãy lấy danh sách các bộ dữ liệu sau đây
Tôi muốn sắp xếp các bộ dữ liệu trong danh sách dựa trên mục đầu tiên trong mỗi bộ dữ liệu Python cung cấp một hàm được gọi là sorted() có thể được sử dụng để sắp xếp các mục trong các lần lặp Xem xét rằng một danh sách có thể lặp lại, tôi mong đợi hàm sorted() có thể sắp xếp danh sách các bộ dữ liệu của chúng ta Hãy cùng tìm hiểu
Như bạn có thể thấy thứ tự của các bộ trong danh sách đã thay đổi Theo mặc định, hàm sorted() sắp xếp các bộ dữ liệu dựa trên mục đầu tiên trong mỗi bộ dữ liệu. Đó là lý do tại sao bộ đầu tiên trong danh sách được sắp xếp bắt đầu bằng 0, bộ thứ hai bằng 2 và bộ thứ ba bằng 3 Tôi tự hỏi điều gì sẽ xảy ra nếu phần tử đầu tiên của mỗi bộ giống nhau
Tiêu chí sắp xếp tiếp theo được sử dụng bởi hàm sorted() là phần tử thứ hai của mỗi bộ Và nếu tất cả các bộ có phần tử thứ hai giống nhau?
Lần này, các bộ trong danh sách được sắp xếp dựa trên phần tử thứ ba khi chúng đã được sắp xếp dựa trên phần tử thứ nhất và thứ hai trong mỗi bộ mà trong trường hợp này là giống nhau Làm cách nào bạn có thể sắp xếp danh sách các bộ dữ liệu theo phần tử thứ hai?Theo mặc định, hàm sorted() của Python sắp xếp danh sách các bộ dữ liệu dựa trên mục đầu tiên của bộ dữ liệu Nhưng, nếu bạn muốn sắp xếp các bộ trong danh sách dựa trên mục thứ hai trong mỗi bộ thì sao? Để làm điều đó, bạn có thể chuyển một đối số tùy chọn có tên key cho hàm sorted() Đối số khóa cho phép chỉ định một hàm của một đối số trả về khóa so sánh được sử dụng để so sánh các bộ trong danh sách Nói cách khác, bạn có thể sử dụng khóa đối số để cung cấp một hàm xác định phần tử trong bộ sẽ được sử dụng làm tiêu chí để sắp xếp các bộ trong danh sách Một cách nhanh chóng để cung cấp hàm cho đối số chính là sử dụng hàm lambda Ví dụ: lambda sau đây được áp dụng cho một bộ dữ liệu trả về mục thứ hai của bộ dữ liệu
Đây là cách bạn có thể kiểm tra hàm lambda này trong trình bao Python bằng cách chuyển một bộ cho nó
Ghi chú. hãy nhớ rằng dữ liệu [1] trả về mục thứ hai của bộ dữ liệu vì chỉ mục cho chuỗi Python bắt đầu từ số không Và bây giờ chúng ta có thể chuyển hàm lambda này làm đối số khóa tùy chọn của hàm đã sắp xếp
Như bạn có thể thấy lần này các bộ dữ liệu trong danh sách được sắp xếp dựa trên phần tử thứ hai trong mỗi bộ dữ liệu Cách sắp xếp danh sách các bộ dữ liệu theo thứ tự đảo ngượcVà nếu bạn muốn sắp xếp một danh sách các bộ dữ liệu theo thứ tự ngược lại thì sao? Hãy lấy danh sách các bộ dữ liệu sau đây
Hàm sorted của Python cho phép sắp xếp một danh sách các bộ dữ liệu theo thứ tự đảo ngược chỉ bằng cách truyền một đối số boolean tùy chọn có tên là reverse. Theo mặc định, đảo ngược là Sai nhưng nếu bạn đặt nó thành True, bạn sẽ sắp xếp danh sách các bộ dữ liệu theo thứ tự ngược lại Hãy xác nhận điều đó bằng cách thêm đối số ngược lại vào câu lệnh mà chúng ta đã sử dụng trong phần trước ________số 8_______Bạn có thể thấy cách các bộ trong danh sách được sắp xếp theo thứ tự ngược lại dựa trên mục thứ hai trong mỗi bộ không? Nói cách khác, các bộ dữ liệu trong danh sách được sắp xếp theo thứ tự giảm dần Sử dụng chức năng sắp xếp Python mà không có LambdaTrong ví dụ trước, chúng ta đã truyền hàm lambda cho khóa đối số tùy chọn của hàm được sắp xếp Lambda là một hàm và chúng ta cũng có thể chuyển một hàm bình thường cho đối số khóa tùy chọn Thử một lần đi Xác định một hàm có tên là select_item(), hàm này lấy một bộ làm đầu vào và trả về mục thứ hai của bộ
Và bây giờ chúng ta sẽ gọi hàm đã sắp xếp và chuyển hàm select_item cho đối số key 0kết quả là chính xác Bạn có thể so sánh nó với kết quả mà chúng tôi đã thu được bằng cách sử dụng hàm lambda ở một trong các phần trước Sắp xếp danh sách các bộ dữ liệu bằng ItemgetterCó một cách khác để chuyển lambda hoặc hàm tiêu chuẩn cho đối số khóa tùy chọn của hàm đã sắp xếp Bạn có thể sử dụng hàm itemgetter của mô-đun toán tử Python Hãy xem cách chức năng itemgetter hoạt động khi chúng ta áp dụng nó cho một bộ dữ liệu 1Nó trả về phần tử thứ hai của bộ dữ liệu dựa trên chỉ mục 1 được truyền cho nó Và bây giờ hãy sử dụng hàm itemgetter cùng với hàm sorted 2Danh sách các bộ dữ liệu được sắp xếp dựa trên phần tử thứ hai của mỗi bộ dữ liệu (giống như cách chúng ta đã thấy trong các ví dụ trước bằng cách sử dụng hàm lambda hoặc hàm tiêu chuẩn với đối số khóa tùy chọn) Làm cách nào để bạn sắp xếp danh sách các bộ dữ liệu tại chỗ bằng Python?Cho đến giờ chúng ta đã sử dụng hàm sorted() của Python để trả về một danh sách các bộ dữ liệu được sắp xếp mới Và nếu chúng ta muốn cập nhật danh sách các bộ tại chỗ thay vì tạo một danh sách các bộ mới thì sao? Chúng ta có thể sử dụng phương thức danh sách sort() Bắt đầu từ danh sách sau
Thực hiện phương pháp sắp xếp trên các số danh sách và sau đó xác minh giá trị của các số 4Danh sách số đã được sắp xếp tại chỗ Có ý nghĩa? Chúng tôi đã sử dụng cách tiếp cận này với một danh sách các bộ nhưng chúng tôi có thể sử dụng nó với các danh sách khác (e. g. một danh sách các số nguyên hoặc một danh sách các danh sách) Phương thức sort() cũng chấp nhận khóa tùy chọn và các đối số đảo ngược giống như cách mà hàm sorted thực hiện Đối số khóa tùy chọn 5Đối số ngược tùy chọn 6Sự khác biệt giữa Sắp xếp và Sắp xếp trong Python là gì?Chúng ta đã thấy sự khác biệt giữa sắp xếp và sắp xếp trong các phần trước, hãy tóm tắt lại để đảm bảo rõ ràng Sắp xếp là một hàm Python lấy đầu vào là một lần lặp và trả về một danh sách được sắp xếp mới. Sắp xếp là một phương thức danh sách sắp xếp một danh sách tại chỗ (nó không trả về một danh sách mới) Bạn có thể sử dụng hàm sorted() của Python hoặc phương thức danh sách sort() tùy thuộc vào những gì bạn thích trong ứng dụng của mình Ví dụ: nếu bạn không cần giữ danh sách ban đầu, bạn có thể quyết định sử dụng phương thức list sort() Cách sắp xếp danh sách các bộ dữ liệu dựa trên hai phần tửCho đến giờ chúng ta đã biết cách chỉ định một phần tử được sử dụng để so sánh các bộ trong danh sách nhằm sắp xếp danh sách Nhưng cũng có thể chỉ định hai hoặc nhiều phần tử được sử dụng để so sánh khi sắp xếp danh sách Chúng tôi vẫn sẽ sử dụng đối số khóa tùy chọn và trong ví dụ này, chúng tôi sẽ sử dụng hàm lambda Ví dụ: giả sử chúng ta muốn sắp xếp danh sách dựa trên phần tử thứ hai và thứ ba của mỗi bộ Chúng ta có thể sử dụng lambda cung cấp một bộ khi đầu vào trả về một bộ gồm hai giá trị xác định vị trí của các phần tử trong mỗi bộ sẽ được sử dụng để sắp xếp 7Trong trường hợp này, các bộ trong danh sách được sắp xếp đầu tiên dựa trên phần tử thứ hai trong mỗi bộ (dữ liệu[1]) và sau đó dựa trên phần tử thứ ba trong mỗi bộ (dữ liệu[2]) Phân tích kết quả trả về của hàm đã sắp xếp để đảm bảo bạn hiểu đầy đủ cách thức hoạt động của hàm này Phần kết luậnSau hướng dẫn này, bạn sẽ có một ý tưởng khá hay về cách sắp xếp danh sách các bộ trong Python Bạn đã học cách sử dụng hàm sorted() và phương thức list sort() và sự khác biệt giữa chúng là gì Chúng ta cũng đã thấy các đối số tùy chọn như khóa và đảo ngược cho phép làm cho khả năng sắp xếp của Python trở nên linh hoạt hơn như thế nào Bài viết liên quanNối các chuỗi trong Python [Có ví dụ] 8 điều cần biết để đếm các giá trị duy nhất trong danh sách bằng Python Tệp Gitignore cho Dự án Python của bạn. Nó trông như thế nào? Claudio Sabato Tôi là Trưởng nhóm công nghệ, Kỹ sư phần mềm và Huấn luyện viên lập trình. Tôi muốn giúp bạn trong hành trình trở thành Nhà phát triển siêu hạng Làm cách nào để sắp xếp danh sách các bộ dữ liệu trong Python theo thứ tự bảng chữ cái?Khi cần sắp xếp danh sách các bộ theo thứ tự bảng chữ cái, có thể sử dụng phương pháp 'sắp xếp' . Khi sử dụng điều này, nội dung của bộ dữ liệu ban đầu sẽ bị thay đổi, do việc sắp xếp tại chỗ được thực hiện. Hàm 'sắp xếp' sắp xếp các giá trị theo thứ tự tăng dần theo mặc định.
Làm cách nào để sắp xếp danh sách các bộ dữ liệu dựa trên Python giá trị thứ hai?Thuật toán . Khởi tạo danh sách Tuple Định nghĩa hàm Sort(For Sorting Tuple) Đặt khóa để sắp xếp bằng phần tử thứ hai Sử dụng danh sách phụ lambda In kết quả Chúng ta có thể sắp xếp một danh sách các bộ dữ liệu không?Phương pháp #1. Sử dụng Sắp xếp bong bóng Sử dụng kỹ thuật Sắp xếp bong bóng để chúng tôi có thể thực hiện sắp xếp. Lưu ý rằng mỗi bộ là một phần tử trong danh sách đã cho. Truy cập phần tử thứ hai của mỗi bộ bằng các vòng lặp lồng nhau. Điều này thực hiện phương pháp sắp xếp tại chỗ. |