Sắp xếp () có hoạt động với mảng trong Python không?

Nếu bạn muốn tìm hiểu cách làm việc với phương thức

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7 trong các dự án Python của mình, thì bài viết này là dành cho bạn. Phương pháp này rất mạnh mẽ và bạn có thể tùy chỉnh nó để phù hợp với nhu cầu của mình, vì vậy hãy xem cách thức hoạt động của nó một cách chi tiết

Bạn sẽ học

  • Cách sử dụng phương pháp này và tùy chỉnh chức năng của nó
  • Khi nào nên sử dụng và khi nào không nên sử dụng
  • Làm thế nào để gọi nó đi qua các kết hợp đối số khác nhau
  • Cách sắp xếp danh sách theo thứ tự tăng dần và giảm dần
  • Cách so sánh các phần tử của danh sách dựa trên các giá trị trung gian
  • Làm cách nào bạn có thể chuyển các hàm lambda cho phương thức này
  • So sánh phương thức này với hàm
    # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort()
    >>> b
    [2, 3, 3, 6, 7, 8, 9]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort()
    >>> c
    ['A', 'D', 'T', 'U', 'Z']
    
    8
  • Tại sao phương thức
    # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort()
    >>> b
    [2, 3, 3, 6, 7, 8, 9]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort()
    >>> c
    ['A', 'D', 'T', 'U', 'Z']
    
    7 thực hiện sắp xếp ổn định
  • Làm thế nào quá trình đột biến hoạt động đằng sau hậu trường

Bạn đã sẵn sàng chưa? . ⭐

🔹 Mục đích và trường hợp sử dụng

Với phương pháp

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7, bạn có thể sắp xếp danh sách theo một trong hai

  • Thứ tự tăng dần
  • Thứ tự giảm dần

Phương pháp này được sử dụng để sắp xếp một danh sách tại chỗ, có nghĩa là nó thay đổi nó hoặc sửa đổi nó trực tiếp mà không tạo thêm các bản sao, vì vậy hãy nhớ

Sắp xếp () có hoạt động với mảng trong Python không?

Bạn sẽ tìm hiểu thêm về đột biến trong bài viết này (tôi hứa. ), nhưng hiện tại, điều rất quan trọng là bạn phải biết rằng phương thức

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7 sửa đổi danh sách, vì vậy phiên bản gốc của nó bị mất

Do đó, bạn chỉ nên sử dụng phương pháp này nếu

  • Bạn muốn sửa đổi (sắp xếp) danh sách vĩnh viễn
  • Bạn không cần giữ phiên bản gốc của danh sách

Nếu điều này phù hợp với nhu cầu của bạn, thì phương pháp

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort(reverse=True)
>>> b
[9, 8, 7, 6, 3, 3, 2]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort(reverse=True)
>>> c
['Z', 'U', 'T', 'D', 'A']
2 chính xác là thứ bạn đang tìm kiếm

🔸 Cú pháp và đối số

Hãy xem cách bạn có thể gọi

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort(reverse=True)
>>> b
[9, 8, 7, 6, 3, 3, 2]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort(reverse=True)
>>> c
['Z', 'U', 'T', 'D', 'A']
2 để tận dụng toàn bộ sức mạnh của nó

Đây là cuộc gọi cơ bản nhất (không có đối số)

Sắp xếp () có hoạt động với mảng trong Python không?

Nếu bạn không vượt qua bất kỳ đối số nào, theo mặc định

  • Danh sách sẽ được sắp xếp tăng dần
  • Các phần tử của danh sách sẽ được so sánh trực tiếp bằng cách sử dụng các giá trị của chúng với toán tử
    # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort(reverse=True)
    >>> b
    [9, 8, 7, 6, 3, 3, 2]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort(reverse=True)
    >>> c
    ['Z', 'U', 'T', 'D', 'A']
    4

Ví dụ

________số 8

Đối số tùy chỉnh

Để tùy chỉnh cách hoạt động của phương thức

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7, bạn có thể truyền hai đối số tùy chọn

  • Chìa khóa
  • Đảo ngược

Hãy xem cách họ thay đổi hành vi của phương pháp này. Ở đây chúng ta có một cuộc gọi phương thức với hai đối số này

Sắp xếp () có hoạt động với mảng trong Python không?

Trước khi giải thích cách chúng hoạt động, tôi muốn giải thích một điều mà bạn có thể nhận thấy trong sơ đồ trên – trong lệnh gọi phương thức, tên của các tham số phải được đưa vào trước các giá trị tương ứng của chúng, như thế này

  • # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort(reverse=True)
    >>> b
    [9, 8, 7, 6, 3, 3, 2]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort(reverse=True)
    >>> c
    ['Z', 'U', 'T', 'D', 'A']
    6
  • # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort(reverse=True)
    >>> b
    [9, 8, 7, 6, 3, 3, 2]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort(reverse=True)
    >>> c
    ['Z', 'U', 'T', 'D', 'A']
    7

Điều này là bởi vì họ là. Nếu bạn đang chuyển một giá trị tùy chỉnh cho chúng, thì tên của chúng phải được chỉ định trong lệnh gọi phương thức, theo sau là dấu bằng

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort(reverse=True)
>>> b
[9, 8, 7, 6, 3, 3, 2]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort(reverse=True)
>>> c
['Z', 'U', 'T', 'D', 'A']
8 và các giá trị tương ứng của chúng, như thế này

Sắp xếp () có hoạt động với mảng trong Python không?

Mặt khác, nếu bạn cố gắng truyền đối số trực tiếp như cách chúng ta thường làm đối với tham số vị trí, bạn sẽ thấy lỗi này vì hàm sẽ không biết đối số nào tương ứng với tham số nào

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
3

Đảo ngược

Bây giờ bạn đã biết đối số chỉ từ khóa là gì, hãy bắt đầu với

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort(reverse=True)
>>> b
[9, 8, 7, 6, 3, 3, 2]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort(reverse=True)
>>> c
['Z', 'U', 'T', 'D', 'A']
9

Giá trị của

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort(reverse=True)
>>> b
[9, 8, 7, 6, 3, 3, 2]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort(reverse=True)
>>> c
['Z', 'U', 'T', 'D', 'A']
9 có thể là
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
61 hoặc
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
62

  • # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort()
    >>> b
    [2, 3, 3, 6, 7, 8, 9]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort()
    >>> c
    ['A', 'D', 'T', 'U', 'Z']
    
    62 có nghĩa là danh sách sẽ được sắp xếp theo thứ tự tăng dần
  • # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort()
    >>> b
    [2, 3, 3, 6, 7, 8, 9]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort()
    >>> c
    ['A', 'D', 'T', 'U', 'Z']
    
    61 có nghĩa là danh sách sẽ được sắp xếp theo thứ tự giảm dần (đảo ngược)

💡 Mẹo. Theo mặc định, giá trị của nó là

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
62 – nếu bạn không chuyển bất kỳ đối số nào cho tham số này, danh sách sẽ được sắp xếp theo thứ tự tăng dần

Ở đây chúng tôi có một vài ví dụ

Sắp xếp () có hoạt động với mảng trong Python không?
Theo mặc định, đảo ngược là Sai
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']

💡 Mẹo. Nếu các phần tử của danh sách là chuỗi, chúng được sắp xếp theo thứ tự bảng chữ cái

Sắp xếp () có hoạt động với mảng trong Python không?
Để xác định điều ngược lại là Đúng, vì vậy danh sách phải được sắp xếp theo thứ tự giảm dần (đảo ngược).
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort(reverse=True)
>>> b
[9, 8, 7, 6, 3, 3, 2]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort(reverse=True)
>>> c
['Z', 'U', 'T', 'D', 'A']

💡 Mẹo. Lưu ý cách danh sách được sắp xếp theo thứ tự giảm dần nếu

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort(reverse=True)
>>> b
[9, 8, 7, 6, 3, 3, 2]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort(reverse=True)
>>> c
['Z', 'U', 'T', 'D', 'A']
9 là
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
61

Chìa khóa

Bây giờ bạn đã biết cách làm việc với tham số

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort(reverse=True)
>>> b
[9, 8, 7, 6, 3, 3, 2]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort(reverse=True)
>>> c
['Z', 'U', 'T', 'D', 'A']
9, hãy xem tham số
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
69

Tham số này chi tiết hơn một chút vì nó xác định cách so sánh các phần tử của danh sách trong quá trình sắp xếp

Sắp xếp () có hoạt động với mảng trong Python không?
Cú pháp cơ bản

Giá trị của

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
69 là một trong hai

  • # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort()
    >>> b
    [2, 3, 3, 6, 7, 8, 9]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort()
    >>> c
    ['A', 'D', 'T', 'U', 'Z']
    
    81, có nghĩa là các phần tử của danh sách sẽ được so sánh trực tiếp. Ví dụ, trong một danh sách các số nguyên, bản thân các số nguyên có thể được sử dụng để so sánh
  • Hàm của một đối số tạo ra giá trị trung gian cho từng phần tử. Giá trị trung gian này chỉ được tính một lần và được dùng để so sánh trong toàn bộ quá trình sắp xếp. Chúng tôi sử dụng điều này khi chúng tôi không muốn so sánh trực tiếp các phần tử, ví dụ: khi chúng tôi muốn so sánh các chuỗi dựa trên độ dài của chúng (giá trị trung gian)

💡 Mẹo. Theo mặc định, giá trị của

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
69 là
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
81, vì vậy các phần tử được so sánh trực tiếp

Ví dụ

Giả sử chúng ta muốn sắp xếp danh sách các chuỗi dựa trên độ dài của chúng, từ chuỗi ngắn nhất đến chuỗi dài nhất. Chúng ta có thể truyền hàm

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
84 làm giá trị của
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
69, như thế này

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
6

💡 Mẹo. Lưu ý rằng chúng tôi chỉ chuyển tên của hàm (

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
84) mà không có dấu ngoặc đơn vì chúng tôi không gọi hàm. Cái này rất quan trọng

Lưu ý sự khác biệt giữa so sánh trực tiếp các phần tử và so sánh độ dài của chúng (xem bên dưới). Sử dụng giá trị mặc định của

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
69 (
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
81) sẽ sắp xếp các chuỗi theo thứ tự bảng chữ cái (trái), nhưng bây giờ chúng tôi đang sắp xếp chúng dựa trên độ dài của chúng (phải)

Sắp xếp () có hoạt động với mảng trong Python không?

Điều gì xảy ra đằng sau hậu trường?

Sắp xếp () có hoạt động với mảng trong Python không?

Điều này dẫn đến một danh sách có tiêu chí sắp xếp khác. chiều dài

Ở đây chúng ta có một ví dụ khác

Một ví dụ thú vị khác là sắp xếp danh sách các chuỗi như thể tất cả chúng được viết bằng chữ thường (ví dụ: tạo "Aa" tương đương với "aa")

Theo thứ tự từ điển, chữ hoa đứng trước chữ thường

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
8

Vì vậy, chuỗi

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
90 sẽ xuất hiện trước
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
91 trong một danh sách được sắp xếp, ngay cả khi các phiên bản chữ thường của chúng sẽ theo thứ tự ngược lại

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
9

Để tránh phân biệt giữa chữ hoa và chữ thường, chúng ta có thể chuyển hàm

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
92 thành
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
69. Điều này sẽ tạo ra một phiên bản chữ thường của các chuỗi sẽ được sử dụng để so sánh

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
4

Lưu ý rằng bây giờ,

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
91 đứng trước
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
90 trong danh sách đã sắp xếp, đây chính xác là những gì chúng ta muốn

💡 Mẹo. nếu chúng tôi đã sử dụng quy trình sắp xếp mặc định, thì tất cả các chuỗi bắt đầu bằng chữ hoa sẽ xuất hiện trước tất cả các chuỗi bắt đầu bằng chữ thường

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7

Dưới đây là một ví dụ sử dụng Lập trình hướng đối tượng (OOP)

Nếu chúng ta có lớp Python rất đơn giản này

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
8

Và chúng tôi tạo ra bốn trường hợp

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
30

Chúng ta có thể tạo một danh sách tham khảo chúng

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
31

Sau đó, nếu chúng ta định nghĩa một hàm để lấy

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
96 trong số các trường hợp này

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
32

Chúng ta có thể sắp xếp danh sách dựa trên tuổi của họ bằng cách chuyển hàm

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
97 một đối số

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
33

Đây là phiên bản cuối cùng, được sắp xếp của danh sách. Chúng tôi sử dụng vòng lặp for để in tuổi của các cá thể theo thứ tự chúng xuất hiện trong danh sách

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
34

Chính xác những gì chúng tôi muốn – bây giờ danh sách được sắp xếp theo thứ tự tăng dần dựa trên tuổi của các cá thể

💡 Mẹo. Thay vì xác định hàm

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
97, chúng ta có thể sử dụng hàm lambda để lấy tuổi của từng phiên bản, như thế này

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
35

Các hàm lambda là các hàm ẩn danh nhỏ và đơn giản, có nghĩa là chúng không có tên. Chúng rất hữu ích cho những tình huống này khi chúng tôi chỉ muốn sử dụng chúng ở những nơi cụ thể trong một khoảng thời gian rất ngắn

Đây là cấu trúc cơ bản của hàm lambda mà chúng ta đang sử dụng để sắp xếp danh sách

Sắp xếp () có hoạt động với mảng trong Python không?
Cấu trúc cơ bản của hàm Lambda

Vượt qua cả hai đối số

Thật tuyệt vời. Bây giờ bạn đã biết cách tùy chỉnh chức năng của phương thức

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7. Nhưng bạn có thể nâng kỹ năng của mình lên một tầm cao mới bằng cách kết hợp tác dụng của
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
69 và
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort(reverse=True)
>>> b
[9, 8, 7, 6, 3, 3, 2]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort(reverse=True)
>>> c
['Z', 'U', 'T', 'D', 'A']
9 trong cùng một lệnh gọi phương thức

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
36Sắp xếp danh sách theo thứ tự ngược lại như thể các chuỗi đều ở dạng chữ thường

Đây là những kết hợp khác nhau của các đối số và tác dụng của chúng

Sắp xếp () có hoạt động với mảng trong Python không?

Thứ tự của các đối số chỉ từ khóa không thành vấn đề

Vì chúng tôi đang chỉ định tên của các đối số, nên chúng tôi đã biết giá trị nào tương ứng với tham số nào, vì vậy chúng tôi có thể đưa

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
69 hoặc
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort(reverse=True)
>>> b
[9, 8, 7, 6, 3, 3, 2]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort(reverse=True)
>>> c
['Z', 'U', 'T', 'D', 'A']
9 vào đầu tiên trong danh sách và hiệu ứng sẽ hoàn toàn giống nhau

Vì vậy, phương pháp này gọi

Sắp xếp () có hoạt động với mảng trong Python không?

Tương đương với

Sắp xếp () có hoạt động với mảng trong Python không?

Đây là một ví dụ

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
37

Nếu chúng ta thay đổi thứ tự của các đối số, chúng ta sẽ nhận được kết quả chính xác như vậy

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
38

🔹 Giá trị trả về

Bây giờ hãy nói một chút về giá trị trả về của phương thức này. Phương thức

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7 trả về
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
81 – nó không trả về phiên bản được sắp xếp của danh sách, như chúng ta có thể mong đợi bằng trực giác

Theo

Để nhắc nhở người dùng rằng nó hoạt động theo tác dụng phụ, nó không trả về chuỗi đã sắp xếp

Về cơ bản, điều này được sử dụng để nhắc nhở chúng tôi rằng chúng tôi đang sửa đổi danh sách gốc trong bộ nhớ, không tạo bản sao mới của danh sách

Đây là một ví dụ về giá trị trả về của

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
39

Nhìn thấy?

💡 Mẹo. Điều rất quan trọng là không nhầm lẫn phương thức

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7 với hàm
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
8, đây là một hàm hoạt động rất giống nhau nhưng không sửa đổi danh sách ban đầu. Thay vào đó,
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
8 tạo và trả về một bản sao mới của danh sách, đã được sắp xếp

Đây là một ví dụ mà chúng ta có thể sử dụng để so sánh chúng

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
0Ví dụ về. sắp xếp()
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
1Ví dụ về sắp xếp()

Điều này rất quan trọng vì tác dụng của chúng rất khác nhau. Sử dụng phương pháp

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7 khi bạn dự định sử dụng
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
8 có thể gây ra các lỗi nghiêm trọng trong chương trình của bạn vì bạn có thể không nhận ra rằng danh sách đang bị thay đổi

🔸 Phương thức sort() Thực hiện sắp xếp ổn định

Bây giờ hãy nói một chút về các đặc điểm của thuật toán sắp xếp được sử dụng bởi

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7

Phương thức này thực hiện sắp xếp ổn định vì nó hoạt động với việc triển khai TimSort, một thuật toán sắp xếp ổn định và rất hiệu quả

Theo

Một sắp xếp ổn định nếu nó đảm bảo không thay đổi thứ tự tương đối của các phần tử được so sánh bằng nhau — điều này hữu ích cho việc sắp xếp theo nhiều lần (ví dụ: sắp xếp theo bộ phận, sau đó theo bậc lương)

Điều này có nghĩa là nếu hai phần tử có cùng giá trị hoặc giá trị trung gian (khóa), thì chúng được đảm bảo giữ nguyên thứ tự so với nhau

Hãy xem những gì tôi có ý nghĩa với điều này. Vui lòng xem ví dụ này trong giây lát

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
2

Chúng tôi đang so sánh các phần tử dựa trên độ dài của chúng vì chúng tôi đã chuyển hàm

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
84 làm đối số cho
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
69

Chúng ta có thể thấy rằng có ba phần tử có độ dài 2.

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
76,
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
77 và
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
78 theo thứ tự đó

Bây giờ, lưu ý rằng ba phần tử này có cùng thứ tự tương đối trong danh sách được sắp xếp cuối cùng

Sắp xếp () có hoạt động với mảng trong Python không?

Điều này là do thuật toán được đảm bảo ổn định và ba trong số chúng có cùng giá trị trung gian (khóa) trong quá trình sắp xếp (độ dài của chúng là 2, vì vậy khóa của chúng là 2)

💡 Mẹo. Điều tương tự cũng xảy ra với

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
79 và
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
80 (độ dài 1) và
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
81 và
# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
82 (độ dài 3), thứ tự ban đầu của chúng so với nhau được giữ nguyên

Bây giờ bạn đã biết phương pháp

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7 hoạt động như thế nào, vì vậy hãy đi sâu vào đột biến và cách nó có thể ảnh hưởng đến chương trình của bạn

🔹 Đột biến và Rủi ro

Như đã hứa, chúng ta hãy xem quá trình đột biến hoạt động như thế nào ở hậu trường

Khi bạn xác định một danh sách trong Python, như thế này

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
3

Bạn tạo một đối tượng tại một vị trí bộ nhớ cụ thể. Vị trí này được gọi là "địa chỉ bộ nhớ" của đối tượng, được biểu thị bằng một số nguyên duy nhất gọi là id

Bạn có thể coi id là một "thẻ" được sử dụng để xác định một vị trí cụ thể trong bộ nhớ

Sắp xếp () có hoạt động với mảng trong Python không?

Bạn có thể truy cập id của danh sách bằng hàm

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
84, chuyển danh sách dưới dạng đối số

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
4

Khi bạn thay đổi danh sách, bạn thay đổi nó trực tiếp trong bộ nhớ. Bạn có thể hỏi, tại sao điều này rất rủi ro?

Điều này rất rủi ro vì nó ảnh hưởng đến mọi dòng mã sử dụng danh sách sau khi thay đổi, vì vậy bạn có thể đang viết mã để làm việc với một danh sách hoàn toàn khác với danh sách thực tồn tại trong bộ nhớ sau khi thay đổi

Đây là lý do tại sao bạn cần phải rất cẩn thận với các phương pháp gây đột biến

Đặc biệt, phương thức

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7 biến đổi danh sách. Đây là một ví dụ về tác dụng của nó

Sắp xếp () có hoạt động với mảng trong Python không?

Đây là một ví dụ

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
5

Danh sách đã bị thay đổi sau khi gọi

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort(reverse=True)
>>> b
[9, 8, 7, 6, 3, 3, 2]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort(reverse=True)
>>> c
['Z', 'U', 'T', 'D', 'A']
2

Mỗi dòng mã hoạt động với danh sách

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
87 sau khi đột biến xảy ra sẽ sử dụng phiên bản mới, được sắp xếp của danh sách. Nếu đây không phải là điều bạn dự định, bạn có thể không nhận ra rằng các phần khác trong chương trình của bạn đang hoạt động với phiên bản mới của danh sách

Đây là một ví dụ khác về rủi ro đột biến trong một chức năng

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
6

Danh sách

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
87 được truyền dưới dạng đối số đã bị thay đổi, ngay cả khi đó không phải là điều bạn dự định khi viết hàm ban đầu

💡 Mẹo. Nếu một chức năng thay đổi một đối số, nó phải được nêu rõ ràng để tránh đưa lỗi vào các phần khác của chương trình của bạn

🔸 Tóm tắt Phương thức sort()

  • Phương thức
    # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort()
    >>> b
    [2, 3, 3, 6, 7, 8, 9]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort()
    >>> c
    ['A', 'D', 'T', 'U', 'Z']
    
    7 cho phép bạn sắp xếp danh sách theo thứ tự tăng dần hoặc giảm dần
  • Phải mất hai đối số chỉ từ khóa.
    # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort()
    >>> b
    [2, 3, 3, 6, 7, 8, 9]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort()
    >>> c
    ['A', 'D', 'T', 'U', 'Z']
    
    69 và
    # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort(reverse=True)
    >>> b
    [9, 8, 7, 6, 3, 3, 2]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort(reverse=True)
    >>> c
    ['Z', 'U', 'T', 'D', 'A']
    9
  • # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort(reverse=True)
    >>> b
    [9, 8, 7, 6, 3, 3, 2]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort(reverse=True)
    >>> c
    ['Z', 'U', 'T', 'D', 'A']
    9 xác định xem danh sách được sắp xếp theo thứ tự tăng dần hay giảm dần
  • # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort()
    >>> b
    [2, 3, 3, 6, 7, 8, 9]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort()
    >>> c
    ['A', 'D', 'T', 'U', 'Z']
    
    69 là một hàm tạo ra một giá trị trung gian cho từng phần tử và giá trị này được sử dụng để so sánh trong quá trình sắp xếp
  • Phương thức
    # List of Integers
    >>> b = [6, 3, 8, 2, 7, 3, 9]
    >>> b.sort()
    >>> b
    [2, 3, 3, 6, 7, 8, 9]
    
    # List of Strings
    >>> c = ["A", "Z", "D", "T", "U"]
    >>> c.sort()
    >>> c
    ['A', 'D', 'T', 'U', 'Z']
    
    7 thay đổi danh sách, gây ra những thay đổi vĩnh viễn. Bạn cần phải rất cẩn thận và chỉ sử dụng nó nếu bạn không cần phiên bản gốc của danh sách

Tôi thực sự hy vọng rằng bạn thích bài viết của tôi và thấy nó hữu ích. Bây giờ bạn có thể làm việc với phương thức

# List of Integers
>>> b = [6, 3, 8, 2, 7, 3, 9]
>>> b.sort()
>>> b
[2, 3, 3, 6, 7, 8, 9]

# List of Strings
>>> c = ["A", "Z", "D", "T", "U"]
>>> c.sort()
>>> c
['A', 'D', 'T', 'U', 'Z']
7 trong các dự án Python của mình. Kiểm tra các khóa học trực tuyến của tôi. Theo dõi tôi trên Twitter. ⭐️

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

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Sắp xếp () có hoạt động với mảng trong Python không?
Estefania Cassingena Navone

Nhà phát triển, nhà văn kỹ thuật và người tạo nội dung @freeCodeCamp. Tôi chạy freeCodeCamp. org Kênh YouTube Español


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơ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

Chúng ta có thể sử dụng sắp xếp cho mảng trong Python không?

Để sắp xếp mảng trong python, chúng ta có thể sử dụng hàm sắp xếp sẵn có trong python hoặc chúng ta có thể tạo các hàm sắp xếp riêng như sắp xếp chèn, sắp xếp bong bóng hoặc sắp xếp lựa chọn< . .

Sắp xếp có hoạt động trên mảng không?

Phương thức sort() sắp xếp các phần tử của một mảng tại chỗ và trả về tham chiếu cho cùng một mảng, hiện đã được sắp xếp . Thứ tự sắp xếp mặc định tăng dần, được xây dựng dựa trên việc chuyển đổi các phần tử thành chuỗi, sau đó so sánh các chuỗi giá trị đơn vị mã UTF-16 của chúng.

Bạn có thể sử dụng sort() trên một chuỗi các chuỗi không?

Để sắp xếp một mảng các chuỗi trong Java, ta có thể sử dụng Arrays. hàm sắp xếp() .

Sắp xếp mảng hoạt động như thế nào trong Python?

Đầu tiên, chúng ta tìm giá trị nhỏ nhất trong toàn bộ mảng và hoán đổi giá trị này với phần tử đầu tiên của mảng. Sau đó, giá trị đầu tiên bị bỏ qua và các giá trị tối thiểu được tìm thấy từ phần còn lại của mảng;