Danh sách đặt hàng python

Đưa ra một mảng tùy ý có kích thước

# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']

# sort the vowels
vowels.sort[reverse=True]

# print vowels
print['Sorted list [in Descending]:', vowels]
1, tôi muốn sắp xếp lại các phần tử của mảng dựa trên các chỉ số rời rạc của mảng

Ví dụ Python

# Unique array of size n
[ "a", "b", "c", "d", "e", ..  ]

# Indices of array
[ 0, 1, 2, 3, 4, ..  ]

# Desired re-organization function 'indexMove'
indexMove[
    [ "a", "b", "c", "d", "e", ..  ],
    [ , 4, 0, 2, 3, .. 1 ]
]

# Desired output from indexMove operation
[ , "e", "a", "c", "d", .. "b" ]

Cách nhanh nhất để thực hiện thao tác này [đạt được độ phức tạp thời gian nhỏ nhất] là gì?

Bài này chúng ta sẽ tìm hiểu phương thức list sort[] trong Python, phương thức này dùng để sắp xếp các phần tử của một List theo hướng tăng dần hoặc giảm dần

Bài viết này đã được đăng tại freetuts. net , không được sao chép dưới mọi hình thức.

1. Cú pháp List sort[]

Sau đây là cú pháp của phương thức này

list.sort[key=..., reverse=...]

in which

  • đảo ngược là thông số quyết định sắp xếp tăng hoặc giảm, nếu TRUE là tăng dần và FALSE là giảm dần
  • key close vai trò là chức năng dùng để so sánh sắp xếp

Mặc định thì phương thức sắp xếp sẽ không có tham số truyền vào

Bài viết này đã được đăng tại [free tuts. bọc lưới]

Giá trị trả lại. Phương thức này không trả về bất kỳ giá trị nào, nó chỉ thay đổi thứ tự sắp xếp cho Danh sách sử dụng nó

2. Ví dụ list sort đơn giản

Sau đây là một vài ví dụ về các trường hợp thường gặp nhất. Đầu tiên là một ví dụ khá đơn giản như sau

# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']

# sort the vowels
vowels.sort[]

# print vowels
print['Sorted list:', vowels]

Do không truyền tham số nên mặc định nó sẽ sắp xếp tăng dần, kết quả sẽ như sau

Sorted list: ['a', 'e', 'i', 'o', 'u']

Nếu muốn sắp xếp giảm dần, hãy thêm tham số _______42

# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']

# sort the vowels
vowels.sort[reverse=True]

# print vowels
print['Sorted list [in Descending]:', vowels]

Kết quả

Sorted list [in Descending]: ['u', 'o', 'i', 'e', 'a']

3. Ví dụ sử dụng chức năng phím

Giả sử mỗi phần tử của danh sách có kiểu dữ liệu phức tạp như Tuple, List, Set thì bạn cần phải có một số thông số để so sánh. Ví dụ mình có danh sách như sau

random = [[2, 2], [3, 4], [4, 1], [1, 3]]

Lúc này ta phải sử dụng phím tham số để định nghĩa một chức năng mới, chức năng này sẽ trả về phần tử muốn so sánh

# take second element for sort
def takeSecond[elem]:
    return elem[1]

# random list
random = [[2, 2], [3, 4], [4, 1], [1, 3]]

# sort list with key
random.sort[key=takeSecond]

# print list
print['Sorted list:', random]

Run up results will like after

________số 8

Lời kết. Như vậy là mình đã giới thiệu xong cách sử dụng danh sách phương thức. sort[] trong Python, chúc bạn học tốt

Ghi chú. Sự khác biệt đơn giản nhất giữa

list.sort[key=..., reverse=...]
7 và
list.sort[key=..., reverse=...]
00 là.
list.sort[key=..., reverse=...]
7 thay đổi danh sách trực tiếp và không trả về bất kỳ giá trị nào, trong khi
list.sort[key=..., reverse=...]
00 không thay đổi danh sách và trả về danh sách đã sắp xếp

sắp xếp [] Tham số

Theo mặc định,

list.sort[key=..., reverse=...]
7 không yêu cầu bất kỳ tham số bổ sung nào. Tuy nhiên, nó có hai tham số tùy chọn

  • đảo ngược - Nếu
    list.sort[key=..., reverse=...]
    04, danh sách được sắp xếp bị đảo ngược [hoặc được sắp xếp theo thứ tự Giảm dần]
  • key - chức năng đóng vai trò là khóa để so sánh sắp xếp

sắp xếp [] Giá trị trả về

Phương thức

list.sort[key=..., reverse=...]
7 không trả về bất kỳ giá trị nào. Thay vào đó, nó thay đổi danh sách ban đầu

Nếu bạn muốn một hàm trả về danh sách đã sắp xếp thay vì thay đổi danh sách ban đầu, hãy sử dụng

list.sort[key=..., reverse=...]
00

ví dụ 1. Sắp xếp một danh sách nhất định

list.sort[key=..., reverse=...]
7

đầu ra

Sorted list: ['a', 'e', 'i', 'o', 'u']

Sắp xếp theo thứ tự giảm dần

Phương thức

list.sort[key=..., reverse=...]
7 chấp nhận tham số
list.sort[key=..., reverse=...]
08 làm đối số tùy chọn

Đặt

list.sort[key=..., reverse=...]
09 sắp xếp danh sách theo thứ tự giảm dần

# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']

# sort the vowels
vowels.sort[]

# print vowels
print['Sorted list:', vowels]
2

Ngoài ra, đối với

list.sort[key=..., reverse=...]
00, bạn có thể sử dụng đoạn mã sau

# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']

# sort the vowels
vowels.sort[]

# print vowels
print['Sorted list:', vowels]
4

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

# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']

# sort the vowels
vowels.sort[]

# print vowels
print['Sorted list:', vowels]
5

đầu ra

Sorted list [in Descending]: ['u', 'o', 'i', 'e', 'a']

Sắp xếp với chức năng tùy chỉnh bằng phím

Nếu bạn muốn triển khai sắp xếp của riêng mình, phương thức

list.sort[key=..., reverse=...]
7 cũng chấp nhận hàm
list.sort[key=..., reverse=...]
72 làm tham số tùy chọn

Dựa vào kết quả của hàm key, có thể sắp xếp danh sách đã cho

# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']

# sort the vowels
vowels.sort[]

# print vowels
print['Sorted list:', vowels]
9

Ngoài ra để sắp xếp

list.sort[key=..., reverse=...]
0

Ở đây,

list.sort[key=..., reverse=...]
73 là hàm có sẵn của Python để đếm độ dài của một phần tử

Danh sách được sắp xếp dựa trên độ dài của từng phần tử, từ thấp nhất đến cao nhất

Chúng tôi biết rằng một bộ dữ liệu được sắp xếp theo tham số đầu tiên của nó theo mặc định. Hãy xem cách tùy chỉnh phương pháp

list.sort[key=..., reverse=...]
7 để sắp xếp bằng phần tử thứ hai

ví dụ 3. Sắp xếp danh sách bằng phím

list.sort[key=..., reverse=...]
1

đầu ra

list.sort[key=..., reverse=...]
2

Hãy lấy một ví dụ khác. Giả sử chúng ta có một danh sách thông tin về nhân viên của một văn phòng trong đó mỗi phần tử là một từ điển

Chúng ta có thể sắp xếp danh sách theo cách sau

list.sort[key=..., reverse=...]
3

đầu ra

list.sort[key=..., reverse=...]
4

Ở đây, đối với trường hợp đầu tiên, hàm tùy chỉnh của chúng tôi trả về tên của từng nhân viên. Vì tên là một

list.sort[key=..., reverse=...]
75, Python theo mặc định sắp xếp nó theo thứ tự bảng chữ cái

Đối với trường hợp thứ hai, tuổi [

list.sort[key=..., reverse=...]
76] được trả về và được sắp xếp theo thứ tự tăng dần

Đối với trường hợp thứ ba, hàm trả về mức lương [

list.sort[key=..., reverse=...]
76] và được sắp xếp theo thứ tự giảm dần bằng cách sử dụng
list.sort[key=..., reverse=...]
09

Bạn nên sử dụng hàm lambda khi hàm này có thể được tóm tắt trong một dòng. Vì vậy, chúng ta cũng có thể viết chương trình trên như

Chủ Đề