Khóa sắp xếp python
Xin chào mọi người. Ngôn ngữ lập trình Python 3 có sẵn 2 hàm sorted() và sort(), vậy hôm nay chúng ta cùng tìm hiểu xem các hàm này hoạt động như thế nào nhéHàm sắp xếp()Đây là một hàm có sẵn trong Python. Đúng như tên gọi của nó thì hàm này có thể sắp xếp các phần tử trong một danh sách, đặt hoặc tuple Show
Nội dung chính Hiển thị Sắp xếp theo sốHàm sắp xếp được sử dụng thường xuyên với sắp xếp các số Ví dụVới danh sách
Với tuple
And with set
Có thể dễ dàng thấy rằng bất kể đầu vào là gì, thì đầu ra của hàm sorted() cũng sẽ là một danh sách. Nếu bạn muốn chuyển lại kiểu ban đầu của cấu trúc ban đầu, bạn có thể gọi biến đổi hàm Ví dụ
Sắp xếp theo chuỗi ký tựHàm sorted() cũng có thể được sử dụng để sắp xếp các chuỗi ký tự. Lưu ý là hàm sorted() phân biệt chữ hoa chữ thường, tức là các ký tự trong hoa sẽ có giá trị và thứ tự khác với các ký tự không trong hoa Ví dụ
You may be sorting number (dưới dạng ký tự )
Bạn có thể sắp xếp các ký tự trong một câu, sorted() sẽ coi từng ký tự là một phần tử và sẽ tách từng ký tự ra để sắp xếp
Các tham số không bắt buộcNhư ta đã thấy, hàm sorted() phải nhận 1 tham số bắt buộc là một đối tượng dạng danh sách, set hoặc tuple, nhưng sorted() còn nhận 2 tham số khác, là đảo ngược và khóa đảo ngượcKhi bạn truyền một đối tượng vào hàm sorted(), tham số đảo ngược được mặc định là Sai. You can transfer to reverse=True, when that sorted() will sắp xếp đảo ngược thứ tự
Chìa khóaNếu bạn có một hàm đặc biệt và cần chạy hàm này với mỗi phần tử của đối tượng được truyền vào hàm sorted(), bạn có thể truyền vào khóa tham số và sorted sẽ sắp xếp các phần tử dựa trên kết quả trả về của bạn . Ví dụ, bạn có 1 mảng 2 chiều ________số 8Và giờ bạn muốn sắp xếp các mảng này dựa trên phần tử tại vị trí thứ 2 (tức là chỉ mục là 1), bạn có thể truyền vào khóa một hàm lambda, ở đây chúng ta chỉ cần sắp xếp theo phần thử tại chỉ mục 1, vậy
Kết hợp lại, ta có 0Giới hạn và lỗi thường gặp với sorted()Một trong những lỗi thường gặp nhất với sắp xếp đó là trong đối tượng mà bạn truyền vào có các phần tử không thể so sánh được với nhau, ví dụ số và chữ, số và null, chữ và kiểu Boolean (True, False) 1Một lỗi khác mà có thể khiến kết quả trả về không như ý muốn là so sánh thứ tự nhưng lại có cả chữ thường và chữ hoa 2Điều khác cần lưu ý đó là hàm được truyền vào khóa chỉ được phép nhận 1 tham số 3Và hàm được truyền vào key phải chạy thành công với mọi phần tử của đối tượng mà bạn đang truyền vào sorted() 4Hàm sắp xếp()Vì vậy, với hàm sorted(), hàm sort() có chức năng gần như tương tự, ngoại trừ 1 số điểm khác biệt. Hàm sort() is a method of data type list in python. Có 1 số điểm cần lưu ý
5Tổng kếtNhư vậy là chúng ta đã biết sự khác nhau giữa hàm sorted() và sort() trong Python, chung quy lại thì 2 hàm này gần như nhau, tuy nhiên hàm sort() là phương thức của danh sách và các kiểu tuple, set will . Cả 2 hàm đều có thể nhận thêm khóa tham số giúp chúng chạy hàm với từng phần tử và đảo ngược giúp chúng đảo ngược thứ tự sắp xếp. Mình mong các bạn đã học được thêm từ 2 bài viết này. Thank vì đã đọc. Bạn có thể tham khảo thêm tại đây |