Viết một chương trình sẽ lấy 5 số làm đầu vào một số trên mỗi dòng trong python

Tất cả các lập trình viên sẽ phải viết mã để sắp xếp các mục hoặc dữ liệu tại một số điểm. Sắp xếp có thể rất quan trọng đối với trải nghiệm người dùng trong ứng dụng của bạn, cho dù đó là sắp xếp hoạt động gần đây nhất của người dùng theo dấu thời gian hay sắp xếp danh sách người nhận email theo thứ tự bảng chữ cái theo họ. Chức năng sắp xếp của Python cung cấp các tính năng mạnh mẽ để thực hiện sắp xếp cơ bản hoặc tùy chỉnh thứ tự ở cấp độ chi tiết

Trong hướng dẫn này, bạn sẽ tìm hiểu cách sắp xếp các loại dữ liệu khác nhau trong các cấu trúc dữ liệu khác nhau, tùy chỉnh thứ tự và làm việc với hai phương pháp sắp xếp khác nhau trong Python

Đến cuối hướng dẫn này, bạn sẽ biết cách

  • Thực hiện sắp xếp và sắp xếp Python cơ bản trên cấu trúc dữ liệu
  • Phân biệt giữa
    >>> numbers_tuple = [6, 9, 3, 1]
    >>> numbers_set = {5, 5, 10, 1, 0}
    >>> numbers_tuple_sorted = sorted[numbers_tuple]
    >>> numbers_set_sorted = sorted[numbers_set]
    >>> numbers_tuple_sorted
    [1, 3, 6, 9]
    >>> numbers_set_sorted
    [0, 1, 5, 10]
    
    4 và
    >>> numbers_tuple = [6, 9, 3, 1]
    >>> numbers_set = {5, 5, 10, 1, 0}
    >>> numbers_tuple_sorted = sorted[numbers_tuple]
    >>> numbers_set_sorted = sorted[numbers_set]
    >>> numbers_tuple_sorted
    [1, 3, 6, 9]
    >>> numbers_set_sorted
    [0, 1, 5, 10]
    
    5
  • Tùy chỉnh thứ tự sắp xếp phức tạp trong mã của bạn dựa trên các yêu cầu duy nhất

Đối với hướng dẫn này, bạn sẽ cần có hiểu biết cơ bản về danh sách và bộ dữ liệu cũng như tập hợp. Những cấu trúc dữ liệu đó sẽ được sử dụng trong hướng dẫn này và một số thao tác cơ bản sẽ được thực hiện trên chúng. Ngoài ra, hướng dẫn này sử dụng Python 3, vì vậy đầu ra ví dụ trong hướng dẫn này có thể thay đổi một chút nếu bạn đang sử dụng Python 2

Tải xuống miễn phí. Nhận một chương mẫu từ Thủ thuật Python. Cuốn sách chỉ cho bạn các phương pháp hay nhất về Python với các ví dụ đơn giản mà bạn có thể áp dụng ngay lập tức để viết mã Pythonic + đẹp hơn

Thứ tự các giá trị với
>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
4

Để bắt đầu với sắp xếp Python, trước tiên bạn sẽ xem cách sắp xếp cả dữ liệu số và dữ liệu chuỗi

Loại bỏ các quảng cáo

Sắp xếp số

Bạn có thể sử dụng Python để sắp xếp danh sách bằng cách sử dụng

>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
4. Trong ví dụ này, một danh sách các số nguyên được xác định và sau đó _____________4 được gọi với biến __________9 làm đối số

>>>

>>> numbers = [6, 9, 3, 1]
>>> sorted[numbers]
[1, 3, 6, 9]
>>> numbers
[6, 9, 3, 1]

Đầu ra từ mã này là một danh sách mới, được sắp xếp. Khi biến ban đầu được in, các giá trị ban đầu không thay đổi

Ví dụ này cho thấy bốn đặc điểm quan trọng của

>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
4

  1. Hàm
    >>> numbers_tuple = [6, 9, 3, 1]
    >>> numbers_set = {5, 5, 10, 1, 0}
    >>> numbers_tuple_sorted = sorted[numbers_tuple]
    >>> numbers_set_sorted = sorted[numbers_set]
    >>> numbers_tuple_sorted
    [1, 3, 6, 9]
    >>> numbers_set_sorted
    [0, 1, 5, 10]
    
    4 không cần phải được xác định. Đó là một chức năng tích hợp có sẵn trong bản cài đặt tiêu chuẩn của Python
  2. >>> numbers_tuple = [6, 9, 3, 1]
    >>> numbers_set = {5, 5, 10, 1, 0}
    >>> numbers_tuple_sorted = sorted[numbers_tuple]
    >>> numbers_set_sorted = sorted[numbers_set]
    >>> numbers_tuple_sorted
    [1, 3, 6, 9]
    >>> numbers_set_sorted
    [0, 1, 5, 10]
    
    4, không có đối số hoặc tham số bổ sung, đang sắp xếp các giá trị trong
    >>> numbers_tuple = [6, 9, 3, 1]
    >>> numbers_set = {5, 5, 10, 1, 0}
    >>> numbers_tuple_sorted = sorted[numbers_tuple]
    >>> numbers_set_sorted = sorted[numbers_set]
    >>> numbers_tuple_sorted
    [1, 3, 6, 9]
    >>> numbers_set_sorted
    [0, 1, 5, 10]
    
    9 theo thứ tự tăng dần, nghĩa là từ nhỏ nhất đến lớn nhất
  3. Biến
    >>> numbers_tuple = [6, 9, 3, 1]
    >>> numbers_set = {5, 5, 10, 1, 0}
    >>> numbers_tuple_sorted = sorted[numbers_tuple]
    >>> numbers_set_sorted = sorted[numbers_set]
    >>> numbers_tuple_sorted
    [1, 3, 6, 9]
    >>> numbers_set_sorted
    [0, 1, 5, 10]
    
    9 ban đầu không thay đổi vì
    >>> numbers_tuple = [6, 9, 3, 1]
    >>> numbers_set = {5, 5, 10, 1, 0}
    >>> numbers_tuple_sorted = sorted[numbers_tuple]
    >>> numbers_set_sorted = sorted[numbers_set]
    >>> numbers_tuple_sorted
    [1, 3, 6, 9]
    >>> numbers_set_sorted
    [0, 1, 5, 10]
    
    4 cung cấp đầu ra được sắp xếp và không thay đổi giá trị ban đầu tại chỗ
  4. Khi
    >>> numbers_tuple = [6, 9, 3, 1]
    >>> numbers_set = {5, 5, 10, 1, 0}
    >>> numbers_tuple_sorted = sorted[numbers_tuple]
    >>> numbers_set_sorted = sorted[numbers_set]
    >>> numbers_tuple_sorted
    [1, 3, 6, 9]
    >>> numbers_set_sorted
    [0, 1, 5, 10]
    
    4 được gọi, nó cung cấp một danh sách có thứ tự dưới dạng giá trị trả về

Điểm cuối cùng này có nghĩa là có thể sử dụng

>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
4 trong danh sách và đầu ra có thể được gán ngay cho một biến

>>>

>>> numbers = [6, 9, 3, 1]
>>> numbers_sorted = sorted[numbers]
>>> numbers_sorted
[1, 3, 6, 9]
>>> numbers
[6, 9, 3, 1]

Trong ví dụ này, hiện có một biến mới

>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
>>> tuple[numbers_tuple_sorted]
[1, 3, 6, 9]
>>> set[numbers_set_sorted]
{0, 1, 10, 5}
8 lưu trữ đầu ra của
>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
4

Bạn có thể xác nhận tất cả những quan sát này bằng cách gọi cho

>>> string_number_value = '34521'
>>> string_value = 'I like to sort'
>>> sorted_string_number = sorted[string_number_value]
>>> sorted_string = sorted[string_value]
>>> sorted_string_number
['1', '2', '3', '4', '5']
>>> sorted_string
[' ', ' ', ' ', 'I', 'e', 'i', 'k', 'l', 'o', 'o', 'r', 's', 't', 't']
0 trên
>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
4. Các đối số tùy chọn
>>> string_number_value = '34521'
>>> string_value = 'I like to sort'
>>> sorted_string_number = sorted[string_number_value]
>>> sorted_string = sorted[string_value]
>>> sorted_string_number
['1', '2', '3', '4', '5']
>>> sorted_string
[' ', ' ', ' ', 'I', 'e', 'i', 'k', 'l', 'o', 'o', 'r', 's', 't', 't']
2 và
>>> string_number_value = '34521'
>>> string_value = 'I like to sort'
>>> sorted_string_number = sorted[string_number_value]
>>> sorted_string = sorted[string_value]
>>> sorted_string_number
['1', '2', '3', '4', '5']
>>> sorted_string
[' ', ' ', ' ', 'I', 'e', 'i', 'k', 'l', 'o', 'o', 'r', 's', 't', 't']
3 sẽ được đề cập sau trong hướng dẫn

>>>

>>> # Python 3
>>> help[sorted]
Help on built-in function sorted in module builtins:

sorted[iterable, /, *, key=None, reverse=False]
    Return a new list containing all items from the iterable in ascending order.

    A custom key function can be supplied to customize the sort order, and the
    reverse flag can be set to request the result in descending order.

Chi tiết kỹ thuật. Nếu bạn đang chuyển đổi từ Python 2 và đã quen thuộc với chức năng cùng tên của nó, thì bạn nên biết một số thay đổi quan trọng trong Python 3

  1. >>> numbers_tuple = [6, 9, 3, 1]
    >>> numbers_set = {5, 5, 10, 1, 0}
    >>> numbers_tuple_sorted = sorted[numbers_tuple]
    >>> numbers_set_sorted = sorted[numbers_set]
    >>> numbers_tuple_sorted
    [1, 3, 6, 9]
    >>> numbers_set_sorted
    [0, 1, 5, 10]
    
    4 của Python 3 không có tham số
    >>> string_number_value = '34521'
    >>> string_value = 'I like to sort'
    >>> sorted_string_number = sorted[string_number_value]
    >>> sorted_string = sorted[string_value]
    >>> sorted_string_number
    ['1', '2', '3', '4', '5']
    >>> sorted_string
    [' ', ' ', ' ', 'I', 'e', 'i', 'k', 'l', 'o', 'o', 'r', 's', 't', 't']
    
    5. Thay vào đó, chỉ có
    >>> string_number_value = '34521'
    >>> string_value = 'I like to sort'
    >>> sorted_string_number = sorted[string_number_value]
    >>> sorted_string = sorted[string_value]
    >>> sorted_string_number
    ['1', '2', '3', '4', '5']
    >>> sorted_string
    [' ', ' ', ' ', 'I', 'e', 'i', 'k', 'l', 'o', 'o', 'r', 's', 't', 't']
    
    2 được sử dụng để giới thiệu logic sắp xếp tùy chỉnh
  2. >>> string_number_value = '34521'
    >>> string_value = 'I like to sort'
    >>> sorted_string_number = sorted[string_number_value]
    >>> sorted_string = sorted[string_value]
    >>> sorted_string_number
    ['1', '2', '3', '4', '5']
    >>> sorted_string
    [' ', ' ', ' ', 'I', 'e', 'i', 'k', 'l', 'o', 'o', 'r', 's', 't', 't']
    
    2 và
    >>> string_number_value = '34521'
    >>> string_value = 'I like to sort'
    >>> sorted_string_number = sorted[string_number_value]
    >>> sorted_string = sorted[string_value]
    >>> sorted_string_number
    ['1', '2', '3', '4', '5']
    >>> sorted_string
    [' ', ' ', ' ', 'I', 'e', 'i', 'k', 'l', 'o', 'o', 'r', 's', 't', 't']
    
    3 phải được chuyển dưới dạng đối số từ khóa, không giống như trong Python 2, nơi chúng có thể được chuyển dưới dạng đối số vị trí

Nếu bạn cần chuyển đổi hàm

>>> string_number_value = '34521'
>>> string_value = 'I like to sort'
>>> sorted_string_number = sorted[string_number_value]
>>> sorted_string = sorted[string_value]
>>> sorted_string_number
['1', '2', '3', '4', '5']
>>> sorted_string
[' ', ' ', ' ', 'I', 'e', 'i', 'k', 'l', 'o', 'o', 'r', 's', 't', 't']
5 của Python 2 thành hàm
>>> string_number_value = '34521'
>>> string_value = 'I like to sort'
>>> sorted_string_number = sorted[string_number_value]
>>> sorted_string = sorted[string_value]
>>> sorted_string_number
['1', '2', '3', '4', '5']
>>> sorted_string
[' ', ' ', ' ', 'I', 'e', 'i', 'k', 'l', 'o', 'o', 'r', 's', 't', 't']
2, thì hãy xem
>>> string_value = 'I like to sort'
>>> sorted_string = sorted[string_value.split[]]
>>> sorted_string
['I', 'like', 'sort', 'to']
>>> ' '.join[sorted_string]
'I like sort to'
1. Hướng dẫn này sẽ không bao gồm bất kỳ ví dụ nào sử dụng Python 2

>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
4 có thể được sử dụng trên bộ và bộ rất giống nhau

>>>

>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]

Lưu ý rằng mặc dù đầu vào là một tập hợp và một bộ, nhưng đầu ra là một danh sách vì theo định nghĩa,

>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
4 trả về một danh sách mới. Đối tượng được trả về có thể được chuyển sang loại mới nếu nó cần khớp với loại đầu vào. Hãy cẩn thận nếu cố gắng chuyển danh sách kết quả trở lại một tập hợp, vì một tập hợp theo định nghĩa là không có thứ tự

>>>

>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
>>> tuple[numbers_tuple_sorted]
[1, 3, 6, 9]
>>> set[numbers_set_sorted]
{0, 1, 10, 5}

Giá trị

>>> string_value = 'I like to sort'
>>> sorted_string = sorted[string_value.split[]]
>>> sorted_string
['I', 'like', 'sort', 'to']
>>> ' '.join[sorted_string]
'I like sort to'
4 khi ép kiểu thành
>>> string_value = 'I like to sort'
>>> sorted_string = sorted[string_value.split[]]
>>> sorted_string
['I', 'like', 'sort', 'to']
>>> ' '.join[sorted_string]
'I like sort to'
5 không được đặt hàng, như mong đợi. Biến còn lại,
>>> string_value = 'I like to sort'
>>> sorted_string = sorted[string_value.split[]]
>>> sorted_string
['I', 'like', 'sort', 'to']
>>> ' '.join[sorted_string]
'I like sort to'
6, giữ nguyên thứ tự đã sắp xếp

Chuỗi sắp xếp

>>> string_value = 'I like to sort'
>>> sorted_string = sorted[string_value.split[]]
>>> sorted_string
['I', 'like', 'sort', 'to']
>>> ' '.join[sorted_string]
'I like sort to'
7 loại sắp xếp tương tự như các lần lặp khác, như danh sách và tuple. Ví dụ dưới đây cho thấy cách
>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
4 lặp qua từng ký tự trong giá trị được truyền cho nó và sắp xếp chúng trong đầu ra

>>>

>>> string_number_value = '34521'
>>> string_value = 'I like to sort'
>>> sorted_string_number = sorted[string_number_value]
>>> sorted_string = sorted[string_value]
>>> sorted_string_number
['1', '2', '3', '4', '5']
>>> sorted_string
[' ', ' ', ' ', 'I', 'e', 'i', 'k', 'l', 'o', 'o', 'r', 's', 't', 't']

>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
4 sẽ coi
>>> string_value = 'I like to sort'
>>> sorted_string = sorted[string_value.split[]]
>>> sorted_string
['I', 'like', 'sort', 'to']
>>> ' '.join[sorted_string]
'I like sort to'
7 giống như một danh sách và lặp qua từng phần tử. Trong một
>>> string_value = 'I like to sort'
>>> sorted_string = sorted[string_value.split[]]
>>> sorted_string
['I', 'like', 'sort', 'to']
>>> ' '.join[sorted_string]
'I like sort to'
7, mỗi phần tử có nghĩa là mỗi ký tự trong
>>> string_value = 'I like to sort'
>>> sorted_string = sorted[string_value.split[]]
>>> sorted_string
['I', 'like', 'sort', 'to']
>>> ' '.join[sorted_string]
'I like sort to'
7.
>>> numbers_tuple = [6, 9, 3, 1]
>>> numbers_set = {5, 5, 10, 1, 0}
>>> numbers_tuple_sorted = sorted[numbers_tuple]
>>> numbers_set_sorted = sorted[numbers_set]
>>> numbers_tuple_sorted
[1, 3, 6, 9]
>>> numbers_set_sorted
[0, 1, 5, 10]
4 sẽ không xử lý một câu theo cách khác và nó sẽ sắp xếp từng ký tự, bao gồm cả khoảng trắng

>>> mixed_types = [None, 0]
>>> sorted[mixed_types]
Traceback [most recent call last]:
  File "", line 1, in 
TypeError: '

Chủ Đề