πŸ” Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ лист Π² Python? Π›Π΅Π³ΠΊΠΈΠΉ способ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ объяснСниями

Для сортировки списка Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sorted() ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ sort() Ρƒ списка:

my_list = [5, 2, 9, 1, 7]
sorted_list = sorted(my_list)
my_list.sort()

print(sorted_list)
print(my_list)

Ѐункция sorted() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ копию списка, Π½Π΅ измСняя исходный список, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ sort() сортируСт список Π½Π° мСстС, измСняя исходный список.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ лист Π² Python

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° элСмСнтов Π² спискС являСтся распространСнной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Python. Π­Ρ‚ΠΎ позволяСт ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ элСмСнты списка Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ поиск, Π°Π½Π°Π»ΠΈΠ· ΠΈΠ»ΠΈ просто ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Python сущСствуСт нСсколько способов сортировки списка, ΠΈ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

ΠœΠ΅Ρ‚ΠΎΠ΄ `sort()`

НаиболСС простым ΠΈ распространСнным способом сортировки списка являСтся использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° `sort()`. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ сортируСт список ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


numbers = [5, 2, 8, 1, 6]
numbers.sort()
print(numbers)
    

Π’Ρ‹Π²ΠΎΠ΄:

 [1, 2, 5, 6, 8]

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, список Π±Ρ‹Π» отсортирован Π² порядкС возрастания. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список Π² порядкС убывания, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ `reverse=True` ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ `sort()`. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


numbers = [5, 2, 8, 1, 6]
numbers.sort(reverse=True)
print(numbers)
    

Π’Ρ‹Π²ΠΎΠ΄:

[8, 6, 5, 2, 1]

ВстроСнная функция `sorted()`

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ способом сортировки списка являСтся использованиС встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ `sorted()`. Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ отсортированный список, Π½Π΅ измСняя исходный список. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


numbers = [5, 2, 8, 1, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
    

Π’Ρ‹Π²ΠΎΠ΄:

[1, 2, 5, 6, 8]

Как ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ `sort()`, функция `sorted()` Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ `reverse=True`, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список Π² порядкС убывания. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


numbers = [5, 2, 8, 1, 6]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)
    

Π’Ρ‹Π²ΠΎΠ΄:

[8, 6, 5, 2, 1]

Ѐункция `sort()` ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ `sorted()`: ΠšΠ»ΡŽΡ‡ сортировки

Иногда трСбуСтся ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ критСриям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ прямыми значСниями элСмСнтов списка. Для этого Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ `sort()` ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ `sorted()` ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ `key`, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΡƒΡŽ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ сортировки.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ список строк, ΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ `len()` Π² качСствС ΠΊΠ»ΡŽΡ‡Π° сортировки. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


fruits = ['apple', 'banana', 'cherry', 'date']
fruits.sort(key=len)
print(fruits)
    

Π’Ρ‹Π²ΠΎΠ΄:

['date', 'apple', 'cherry', 'banana']

Π’Π° ΠΆΠ΅ самая Π»ΠΎΠ³ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ `sorted()`. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


fruits = ['apple', 'banana', 'cherry', 'date']
sorted_fruits = sorted(fruits, key=len)
print(sorted_fruits)
    

Π’Ρ‹Π²ΠΎΠ΄:

['date', 'apple', 'cherry', 'banana']

Ѐункция sorted() ΠΈ sort(): ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ функция сортировки

ΠšΡ€ΠΎΠΌΠ΅ встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π²Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ позволяСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ сортировки. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡Π΅ΡΡ‚ΡŒ слоТныС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ сортировки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Ρ‹ просто с использованиСм ΠΊΠ»ΡŽΡ‡Π° сортировки.

Допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список чисСл ΠΏΠΎ суммС Ρ†ΠΈΡ„Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ числа. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ `sum_of_digits()`, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ сумму Ρ†ΠΈΡ„Ρ€ числа, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ `key` Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ `sorted()` ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° `sort()`. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


def sum_of_digits(n):
    return sum(int(digit) for digit in str(n))

numbers = [543, 23, 99, 17, 6]
sorted_numbers = sorted(numbers, key=sum_of_digits)
print(sorted_numbers)
    

Π’Ρ‹Π²ΠΎΠ΄:

[23, 17, 6, 543, 99]

Π’Π° ΠΆΠ΅ самая функция `sum_of_digits()` ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ `sort()`. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


numbers = [543, 23, 99, 17, 6]
numbers.sort(key=sum_of_digits)
print(numbers)
    

Π’Ρ‹Π²ΠΎΠ΄:

[23, 17, 6, 543, 99]

Π’Ρ‹Π²ΠΎΠ΄

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы сортировки списка Π² Python. Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ `sort()`, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ `sorted()` ΠΈ ΠΈΡ… использовании с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ сортировки ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ функциями сортировки. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ списки Π² Python Π² соотвСтствии с вашими потрСбностями.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список словарСй Π² python?

53 Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π² Python. ΠœΠ΅Ρ‚ΠΎΠ΄ sort ΠΈ функция sorted

Python с нуля | Бписки Π² Python | ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков, сортировка списка, срСзы списков Π² Python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”₯Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: пошаговоС руководство

πŸš€ Как Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: простой Π³ΠΈΠ΄ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

πŸ” Как ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ страницу Π² самый Π½ΠΈΠ· с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Selenium Python?

πŸ” Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ лист Π² Python? Π›Π΅Π³ΠΊΠΈΠΉ способ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ объяснСниями

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ min Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅? πŸ‘¨β€πŸ’» Π£Π·Π½Π°ΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ min() Π² Python 🐍

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ mixin Π² Python? 🐍

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ iterable python ΠΈ ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?