Danh sách sắp xếp không hoạt động python

Hàm list sort[] trong Python có thể được sử dụng để sắp xếp Danh sách theo thứ tự tăng dần, giảm dần hoặc do người dùng xác định. Trong mỗi trường hợp, độ phức tạp thời gian là O[nlogn] trong Python

Cú pháp của hàm sort[]

cú pháp.  

List_name.sort[reverse=True/False, key=myFunc]

Tham số

  • đảo ngược. [Tùy chọn], reverse=True sẽ sắp xếp danh sách giảm dần. Mặc định là đảo ngược=Sai
  • phím Tùy chọn. Một hàm để chỉ định [các] tiêu chí sắp xếp

ví dụ 1. Sắp xếp danh sách các số theo thứ tự tăng dần

Phương thức sort[] mặc định sắp xếp phần tử theo thứ tự tăng dần như chúng ta có thể xem ví dụ bên dưới

Python3




[1, 2, 3, 4]
3

[1, 2, 3, 4]
4

 

[1, 2, 3, 4]
5
[1, 2, 3, 4]
6
[1, 2, 3, 4]
7
[1, 2, 3, 4]
0
[1, 2, 3, 4]
1
[1, 2, 3, 4]
2
[1, 2, 3, 4]
1
[1, 2, 3, 4]
4
[1, 2, 3, 4]
1
[1, 2, 3, 4]
6
[1, 2, 3, 4]
7

[1, 2, 3, 4]
8

[1, 2, 3, 4]
9
[1, 2, 3, 4]
10
[1, 2, 3, 4]
11

[1, 2, 3, 4]
9
[1, 2, 3, 4]
13
[1, 2, 3, 4]
14

 

[1, 2, 3, 4]
9
[1, 2, 3, 4]
16______117
[1, 2, 3, 4]
18
[1, 2, 3, 4]
14

[1, 2, 3, 4]
9
[1, 2, 3, 4]
21____222

 

[1, 2, 3, 4]
23

đầu ra

[1, 2, 3, 4]

ví dụ 2. Sắp xếp danh sách bảng chữ cái theo thứ tự tăng dần

Phương thức sort[] sắp xếp danh sách theo thứ tự từ A-Z, đến a-z trong bảng chữ cái.  

Python3




[1, 2, 3, 4]
24

[1, 2, 3, 4]
25

[1, 2, 3, 4]
26
[1, 2, 3, 4]
6
[1, 2, 3, 4]
7
[1, 2, 3, 4]
29
[1, 2, 3, 4]
1
[1, 2, 3, 4]
11
[1, 2, 3, 4]
1
[1, 2, 3, 4]
13
[1, 2, 3, 4]
1
[1, 2, 3, 4]
15
[1, 2, 3, 4]
7

 

[1, 2, 3, 4]
8

[1, 2, 3, 4]
18

[1, 2, 3, 4]
19

[1, 2, 3, 4]
9
[1, 2, 3, 4]
31

đầu ra

[1, 2, 3, 4]
1

ví dụ 3. Sắp xếp danh sách theo thứ tự giảm dần

Ở đây, chúng tôi đang sắp xếp danh sách các số theo thứ tự Giảm dần, điều tương tự sẽ xảy ra với bảng chữ cái [Z-A, z-a]

Python3




[1, 2, 3, 4]
3

[1, 2, 3, 4]
33

[1, 2, 3, 4]
34

[1, 2, 3, 4]
5
[1, 2, 3, 4]
6
[1, 2, 3, 4]
7
[1, 2, 3, 4]
0
[1, 2, 3, 4]
1
[1, 2, 3, 4]
2
[1, 2, 3, 4]
1
[1, 2, 3, 4]
4
[1, 2, 3, 4]
1
[1, 2, 3, 4]
6
[1, 2, 3, 4]
7

 

[1, 2, 3, 4]
46

[1, 2, 3, 4]
47
[1, 2, 3, 4]
6
[1, 2, 3, 4]
49
[1, 2, 3, 4]
50

 

[1, 2, 3, 4]
9____852

đầu ra

[1, 2, 3, 4]
2

Ví dụ 4. Sắp xếp theo thứ tự do người dùng xác định

Trong ví dụ này, chúng ta đang sắp xếp các phần tử bằng cách sử dụng hàm dựa trên việc chuyển hàm tới tham số chính của hàm sort[]

Python3




[1, 2, 3, 4]
53

[1, 2, 3, 4]
54

[1, 2, 3, 4]
55
[1, 2, 3, 4]
56

[1, 2, 3, 4]
57
[1, 2, 3, 4]
58
[1, 2, 3, 4]
59
[1, 2, 3, 4]
0
[1, 2, 3, 4]
7

 

[1, 2, 3, 4]
62

[1, 2, 3, 4]
63

[1, 2, 3, 4]
64
[1, 2, 3, 4]
6
[1, 2, 3, 4]
66
[1, 2, 3, 4]
0
[1, 2, 3, 4]
1_______16
[1, 2, 3, 4]
70
[1, 2, 3, 4]
2
[1, 2, 3, 4]
1
[1, 2, 3, 4]
2
[1, 2, 3, 4]
70
[1, 2, 3, 4]
0
[1, 2, 3, 4]
1
[1, 2, 3, 4]
0
[1, 2, 3, 4]
78

Bạn có thể tùy chọn chỉ định các tham số để tùy chỉnh sắp xếp như thứ tự sắp xếp và tiêu chí sắp xếp

cú pháp

danh sách. sắp xếp [ chính , đảo ngược]

Python list sort[] method parametersParameterConditionDescriptionkeyOptionalMột hàm để chỉ định tiêu chí sắp xếp.
Giá trị mặc định là Không có. reverseOptionalĐặt nó thành True sắp xếp danh sách theo thứ tự đảo ngược.
Giá trị mặc định là Sai.

Xin lưu ý rằng cả hai đối số phải được chỉ định làm đối số từ khóa

Danh sách sắp xếp

Phương pháp

[1, 2, 3, 4]
31 sắp xếp danh sách các chuỗi theo thứ tự bảng chữ cái và danh sách các số theo số

[1, 2, 3, 4]
4

[1, 2, 3, 4]
3

Tuy nhiên, bạn không thể sắp xếp danh sách có cả số và chuỗi trong đó, vì Python không biết cách so sánh các giá trị này

[1, 2, 3, 4]
6

Sắp xếp danh sách theo thứ tự đảo ngược

Bạn cũng có thể sắp xếp danh sách theo thứ tự đảo ngược bằng cách đặt reverse thành TRUE.

[1, 2, 3, 4]
7

Sắp xếp theo khóa

Sử dụng tham số  key  để sắp xếp tùy chỉnh phức tạp hơn. Tham số key chỉ định một hàm sẽ được thực thi trên từng mục danh sách trước khi thực hiện so sánh.

Ví dụ: với một danh sách các chuỗi, chỉ định

[1, 2, 3, 4]
33 [hàm len[] tích hợp] sắp xếp các chuỗi theo độ dài, từ ngắn nhất đến dài nhất

[1, 2, 3, 4]
9

Hàm được sử dụng làm khóa phải nhận một giá trị và trả về một giá trị

Sắp xếp với chức năng tùy chỉnh

Bạn cũng có thể chuyển vào hàm tùy chỉnh của riêng mình

[1, 2, 3, 4]
34 dưới dạng hàm khóa .

[1, 2, 3, 4]
1

[1, 2, 3, 4]
2

Sắp xếp không phân biệt chữ hoa chữ thường

Theo mặc định, phương pháp

[1, 2, 3, 4]
31 sắp xếp danh sách theo thứ tự ASCIIbetical chứ không phải thứ tự bảng chữ cái thực tế. Điều này có nghĩa là chữ hoa đến trước chữ thường

[1, 2, 3, 4]
4

Nếu bạn muốn sắp xếp các giá trị theo thứ tự bảng chữ cái thông thường, hãy đặt khóa key thành str. thấp hơn

[1, 2, 3, 4]
5

Điều này khiến hàm

[1, 2, 3, 4]
31 xử lý tất cả các mục trong danh sách như thể chúng là chữ thường mà không thực sự thay đổi các giá trị trong danh sách

sắp xếp [] so với sắp xếp []

Phương thức

[1, 2, 3, 4]
31 không trả về bất cứ thứ gì, nó sửa đổi danh sách ban đầu [i. e. sắp xếp tại chỗ]. Nếu bạn không muốn sửa đổi danh sách ban đầu, hãy sử dụng hàm sorted[]. Nó trả về một bản sao được sắp xếp của danh sách

[1, 2, 3, 4]
8

[1, 2, 3, 4]
30

Một điểm khác biệt nữa là phương thức

[1, 2, 3, 4]
31 chỉ được xác định cho danh sách. Ngược lại, hàm
[1, 2, 3, 4]
39 chấp nhận bất kỳ iterable nào như tuple, dictionary, v.v. Ngoài ra, phương pháp
[1, 2, 3, 4]
31 không cần tạo danh sách mới, vì vậy sẽ nhanh hơn giữa hai

Sắp xếp có hoạt động trên danh sách trong Python không?

Danh sách Python có danh sách tích hợp. phương thức sắp xếp [] sửa đổi danh sách tại chỗ . Ngoài ra còn có một chức năng tích hợp được sắp xếp [] để xây dựng một danh sách được sắp xếp mới từ một lần lặp.

Tại sao tập hợp không được sắp xếp trong Python?

Câu hỏi này là về lý do tại sao một triển khai cụ thể không lặp lại một tập hợp theo thứ tự mà sorted[] sẽ làm, và câu trả lời là ai đã viết nó đã không lặp lại . Đây là lý do tại sao các bộ Python được coi là chưa được sắp xếp. . This is why Python sets are considered unsorted.

Tại sao sắp xếp danh sách không hoạt động trong Python?

Không thể sắp xếp các danh sách có kiểu dữ liệu không thể so sánh[] . Nếu các giá trị trong danh sách có thể được so sánh và sẽ không ném TypeError , thì danh sách có thể được sắp xếp.

Danh sách sắp xếp [] trả về gì trong Python?

danh sách. Phương thức sort[] sửa đổi danh sách tại chỗ và trả về Không có .

Chủ Đề