Sắp xếp danh sách python theo khóa
Bạn cũng sẽ học một cách khác để thực hiện sắp xếp trong Python bằng cách sử dụng hàm 0 để bạn có thể thấy nó khác với 9 như thế nào Show
Cuối cùng, bạn sẽ biết những kiến thức cơ bản về sắp xếp danh sách trong Python và biết cách tùy chỉnh việc sắp xếp để phù hợp với nhu cầu của bạn Đây là những gì chúng tôi sẽ đề cập
Phương thức list_name.sort() 9 - Tổng quan về cú phápPhương thức 9 là một trong những cách bạn có thể sắp xếp danh sách trong PythonKhi sử dụng 9, bạn sắp xếp một danh sách tại chỗ. Điều này có nghĩa là danh sách ban đầu được sửa đổi trực tiếp. Cụ thể, thứ tự ban đầu của các phần tử bị thay đổiCú pháp chung cho phương thức 9 trông như thế này 2Hãy phá vỡ nó
Phương thức 9 trả về 38, có nghĩa là không có giá trị trả về vì nó chỉ sửa đổi danh sách ban đầu. Nó không trả về một danh sách mớiCách sắp xếp các mục trong danh sách theo thứ tự tăng dần bằng phương pháp list_name.sort() 9Như đã đề cập trước đó, theo mặc định, 9 sắp xếp các mục danh sách theo thứ tự tăng dầnThứ tự tăng dần (hoặc tăng dần) có nghĩa là các mục được sắp xếp từ giá trị thấp nhất đến giá trị cao nhất Giá trị thấp nhất ở phía bên trái và giá trị cao nhất ở bên phải Cú pháp chung để làm điều này sẽ giống như sau
Hãy xem ví dụ sau đây cho biết cách sắp xếp danh sách các số nguyên
Trong ví dụ trên, các số được sắp xếp từ nhỏ nhất đến lớn nhất Bạn cũng có thể đạt được điều tương tự khi làm việc với danh sách các chuỗi 3Trong trường hợp này, mỗi chuỗi có trong danh sách được sắp xếp theo thứ tự bảng chữ cái Như bạn đã thấy trong cả hai ví dụ, danh sách ban đầu đã được thay đổi trực tiếp Cách sắp xếp các mục trong danh sách theo thứ tự giảm dần bằng phương pháp list_name.sort() 9Thứ tự giảm dần (hoặc giảm dần) ngược lại với thứ tự tăng dần - các phần tử được sắp xếp từ giá trị cao nhất đến giá trị thấp nhất Để sắp xếp các mục trong danh sách theo thứ tự giảm dần, bạn cần sử dụng tham số 35 tùy chọn với phương thức 9 và đặt giá trị của nó thành 84Cú pháp chung để làm điều này sẽ giống như thế này 8Hãy sử dụng lại ví dụ tương tự từ phần trước, nhưng lần này làm cho nó sao cho các số được sắp xếp theo thứ tự ngược lại 0Bây giờ tất cả các số được sắp xếp ngược lại, với giá trị lớn nhất ở phía bên trái và nhỏ nhất ở bên phải Bạn cũng có thể đạt được điều tương tự khi làm việc với danh sách các chuỗi 1Các mục danh sách hiện được sắp xếp theo thứ tự bảng chữ cái đảo ngược Cách sắp xếp các mục trong danh sách bằng cách sử dụng tham số # a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort() #print modified list print(my_numbers) #output #[3, 7, 8, 10, 11, 22, 33, 54, 100] 3 với phương pháp list_name.sort() 9Bạn có thể sử dụng tham số 3 để thực hiện các thao tác sắp xếp tùy chỉnh hơnGiá trị được gán cho tham số 3 phải là thứ có thể gọi đượcCallable là thứ có thể gọi được, có nghĩa là nó có thể được triệu gọi và tham chiếu Một số ví dụ về các đối tượng có thể gọi được là các phương thức và hàm Phương thức hoặc chức năng được gán cho 3 này sẽ được áp dụng cho tất cả các thành phần trong danh sách trước khi xảy ra bất kỳ sự sắp xếp nào và sẽ chỉ định logic cho tiêu chí sắp xếpGiả sử bạn muốn sắp xếp danh sách các chuỗi dựa trên độ dài của chúng Để làm được điều đó, bạn chỉ định hàm 00 tích hợp cho tham số 3Hàm 00 sẽ đếm độ dài của từng phần tử được lưu trữ trong danh sách bằng cách đếm các ký tự có trong phần tử đó 0Trong ví dụ trên, các chuỗi được sắp xếp theo thứ tự tăng dần mặc định, nhưng lần này việc sắp xếp xảy ra dựa trên độ dài của chúng Chuỗi ngắn nhất ở bên trái và dài nhất ở bên phải Các thông số 3 và 35 cũng có thể được kết hợpVí dụ: bạn có thể sắp xếp các mục trong danh sách dựa trên độ dài của chúng nhưng theo thứ tự giảm dần 3Trong ví dụ trên, các chuỗi đi từ dài nhất đến ngắn nhất Một điều khác cần lưu ý là bạn có thể tạo chức năng sắp xếp tùy chỉnh của riêng mình, để tạo tiêu chí sắp xếp rõ ràng hơn Ví dụ: bạn có thể tạo một hàm cụ thể rồi sắp xếp danh sách theo giá trị trả về của hàm đó Giả sử bạn có một danh sách các từ điển có ngôn ngữ lập trình và năm tạo ra từng ngôn ngữ lập trình 4Bạn có thể xác định một hàm tùy chỉnh nhận giá trị của một khóa cụ thể từ từ điển 💡 Hãy nhớ rằng khóa từ điển và tham số 3 mà 9 chấp nhận là hai điều khác nhauCụ thể, hàm sẽ lấy và trả về giá trị của khóa 07 trong danh sách từ điển, chỉ định năm tạo ra mọi ngôn ngữ trong từ điểnSau đó, giá trị trả về sẽ được áp dụng làm tiêu chí sắp xếp cho danh sách 0Sau đó, bạn có thể sắp xếp theo giá trị trả về của hàm bạn đã tạo trước đó bằng cách gán nó cho tham số 3 và sắp xếp theo thứ tự thời gian tăng dần mặc định 1đầu ra 2Nếu bạn muốn sắp xếp từ ngôn ngữ được tạo gần đây nhất đến ngôn ngữ cũ nhất hoặc theo thứ tự giảm dần, thì bạn sử dụng tham số 09 3đầu ra 4Để đạt được kết quả chính xác như vậy, bạn có thể tạo hàm lambda Thay vì sử dụng chức năng tùy chỉnh thông thường mà bạn đã xác định bằng từ khóa 10, bạn có thể
5Hàm lambda được chỉ định với dòng 12 sắp xếp các ngôn ngữ lập trình này từ cũ nhất đến mới nhấtSự khác biệt giữa list_name.sort() 9 và # a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort() #print modified list print(my_numbers) #output #[3, 7, 8, 10, 11, 22, 33, 54, 100] 0Phương thức 9 hoạt động theo cách tương tự như hàm 0Cú pháp chung của hàm 0 trông như thế này 6Hãy phá vỡ nó
Sự khác biệt chính giữa 9 và 0 là hàm 0 lấy một danh sách và trả về một bản sao được sắp xếp mới của nóBản sao mới chứa các phần tử của danh sách gốc theo thứ tự được sắp xếp Các phần tử trong danh sách ban đầu không bị ảnh hưởng và không thay đổi Vì vậy, để tóm tắt sự khác biệt
Hãy xem ví dụ sau để xem nó hoạt động như thế nào 7Vì không có đối số bổ sung nào được cung cấp cho 0, nên nó đã sắp xếp bản sao của danh sách gốc theo thứ tự tăng dần mặc định, từ giá trị nhỏ nhất đến giá trị lớn nhấtVà khi in danh sách ban đầu, bạn thấy rằng nó vẫn giữ nguyên và các mặt hàng có thứ tự ban đầu Như bạn đã thấy trong ví dụ trên, bản sao của danh sách đã được gán cho một biến mới, 32Một cái gì đó như thế không thể được thực hiện với 9Kiểm tra ví dụ sau để xem điều gì sẽ xảy ra nếu điều đó được thực hiện bằng phương pháp ________ 19 8Bạn thấy rằng giá trị trả về của 9 là 38Cuối cùng, một điều khác cần lưu ý là các tham số 35 và 3 mà hàm 0 chấp nhận hoạt động giống như cách chúng thực hiện với phương thức 9 mà bạn đã thấy trong các phần trướcKhi nào nên sử dụng list_name.sort() 9 và # a list of numbers my_numbers = [10, 8, 3, 22, 33, 7, 11, 100, 54] #sort list in-place in ascending order my_numbers.sort() #print modified list print(my_numbers) #output #[3, 7, 8, 10, 11, 22, 33, 54, 100] 0Dưới đây là một số điều bạn có thể muốn cân nhắc khi quyết định xem mình có nên sử dụng 9 so với 0 hay khôngTrước tiên, hãy xem xét loại dữ liệu bạn đang làm việc với
Tiếp theo, một điều khác cần xem xét là liệu bạn có giữ lại thứ tự ban đầu của danh sách mà bạn đang làm việc hay không.
Cuối cùng, một điều khác mà bạn có thể muốn xem xét khi làm việc với các tập dữ liệu lớn hơn, đó là hiệu quả về thời gian và bộ nhớ
Sự kết luậnVà bạn có nó rồi đấy. Bây giờ bạn đã biết cách sắp xếp danh sách trong Python bằng phương thức 9Bạn cũng đã xem qua sự khác biệt chính giữa việc sắp xếp danh sách bằng cách sử dụng 9 và 0Tôi hy vọng bạn tìm thấy bài viết này hữu ích Để tìm hiểu thêm về ngôn ngữ lập trình Python, hãy xem Chứng chỉ máy tính khoa học với Python của freeCodeCamp Bạn sẽ bắt đầu từ những điều cơ bản và học theo cách tương tác và thân thiện với người mới bắt đầu. Cuối cùng, bạn cũng sẽ xây dựng năm dự án để đưa vào thực tế và giúp củng cố những gì bạn đã học Cảm ơn đã đọc và mã hóa hạnh phúc QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO Học một cái gì đó mới mỗi ngày và viết về nó Nếu bài viết này hữu ích, hãy tweet nó Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu Khóa hoạt động như thế nào trong sắp xếp Python?key là một hàm sẽ được gọi để chuyển đổi các mục của bộ sưu tập trước khi chúng được so sánh . Tham số được truyền cho khóa phải là thứ có thể gọi được. Việc sử dụng lambda tạo ra một hàm ẩn danh (có thể gọi được). Trong trường hợp được sắp xếp, có thể gọi chỉ nhận một tham số.
Chúng ta có thể sắp xếp thư mục bằng các khóa trong Python không?Python cung cấp các hàm keys() và hàm values() tích hợp sẵn để sắp xếp từ điển . Nó lấy bất kỳ iterable nào làm đối số và trả về danh sách các khóa đã được sắp xếp. Chúng ta có thể sử dụng các phím để sắp xếp từ điển theo thứ tự tăng dần.
Cách nhanh nhất để sắp xếp danh sách trong Python là gì?Để tóm tắt thử nghiệm của chúng tôi, đây là các thuật toán sắp xếp hàng đầu trong Python được xếp hạng theo thứ tự nhanh nhất đến chậm nhất, được làm tròn đến phần nghìn gần nhất. . Sắp xếp tích hợp sẵn của Python. 0. 009s sắp xếp cơ số. 0. những năm 220 Sắp xếp nhanh chóng. 0. 247s phân loại vỏ. 0. những năm 250 Hợp nhất sắp xếp. 0. 435s sắp xếp đống. 0. 473s sắp xếp đếm. 1. những năm 945 Lựa chọn. 3. 426s |