πŸ” Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список Π² Python?

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sort() ΠΈΠ»ΠΈ sorted().

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список Π½Π° мСстС (ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ список), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sort(). НапримСр:


my_list = [5, 2, 1, 4, 3]
my_list.sort()
print(my_list)  # Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ [1, 2, 3, 4, 5]

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ отсортированный список, оставив ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ список Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sorted(). НапримСр:


my_list = [5, 2, 1, 4, 3]
sorted_list = sorted(my_list)
print(sorted_list)  # Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ [1, 2, 3, 4, 5]

ОбС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ key, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния порядка сортировки. НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список строк Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ key=str.lower. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


my_list = ["apple", "Orange", "banana", "cherry"]
my_list.sort(key=str.lower)
print(my_list)  # Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ ["apple", "banana", "cherry", "Orange"]

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

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

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° - это ваТная опСрация ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π’ ΠŸΠΈΡ‚ΠΎΠ½Π΅ Π΅ΡΡ‚ΡŒ нСсколько способов сортировки списков. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

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

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ сортировки списка Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sorted(). Ѐункция sorted() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ отсортированный список, оставляя исходный список Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ.

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

Π’Ρ‹Π²ΠΎΠ΄:

[1, 1, 2, 3, 4, 5, 5, 6, 9]

Ѐункция sorted() Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ reverse для сортировки Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС ΠΈΠ»ΠΈ key для опрСдСлСния критСрия сортировки.

2. ΠœΠ΅Ρ‚ΠΎΠ΄ списка sort()

Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ сортировки списка - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ sort(), доступный для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² списка. ΠœΠ΅Ρ‚ΠΎΠ΄ sort() сортируСт исходный список Π² самом спискС Π±Π΅Π· создания Π½ΠΎΠ²ΠΎΠ³ΠΎ.

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
numbers.sort()
print(numbers)

Π’Ρ‹Π²ΠΎΠ΄:

[1, 1, 2, 3, 4, 5, 5, 6, 9]

Как ΠΈ функция sorted(), ΠΌΠ΅Ρ‚ΠΎΠ΄ sort() Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для опрСдСлСния направлСния сортировки ΠΈ критСрия сортировки.

3. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° с использованиСм кастомной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Если Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список ΠΏΠΎ особому ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΡΡ‚ΠΎΠΌΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ вмСстС с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ sorted() ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ sort().

fruits = ["apple", "banana", "cherry", "date"]
sorted_fruits = sorted(fruits, key=lambda fruit: len(fruit))
print(sorted_fruits)

Π’Ρ‹Π²ΠΎΠ΄:

["date", "apple", "banana", "cherry"]

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ использовали лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ сортировки. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ сортируСм Ρ„Ρ€ΡƒΠΊΡ‚Ρ‹ ΠΏΠΎ ΠΈΡ… Π΄Π»ΠΈΠ½Π΅ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС.

4. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° с использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° itemgetter()

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ способом сортировки списка Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ являСтся использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° itemgetter() ΠΈΠ· модуля operator. Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ позволяСт Π½Π°ΠΌ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ индСксу ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ элСмСнтов.

from operator import itemgetter

students = [
    {"name": "Alice", "score": 90},
    {"name": "Bob", "score": 85},
    {"name": "Charlie", "score": 95}
]

sorted_students = sorted(students, key=itemgetter("score"))
print(sorted_students)

Π’Ρ‹Π²ΠΎΠ΄:

[{'name': 'Bob', 'score': 85}, {'name': 'Alice', 'score': 90}, {'name': 'Charlie', 'score': 95}]

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ itemgetter() ΠΈ ΠΊΠ»ΡŽΡ‡ "score" для сортировки списка студСнтов ΠΏΠΎ ΠΈΡ… ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌ.

5. ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ сортировка

Если Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ reverse с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ sorted() ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ sort().

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
sorted_numbers_reverse = sorted(numbers, reverse=True)
print(sorted_numbers_reverse)

Π’Ρ‹Π²ΠΎΠ΄:

[9, 6, 5, 5, 4, 3, 2, 1, 1]

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ sort() просто ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ reverse=True для сортировки Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС:

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

Π’Ρ‹Π²ΠΎΠ΄:

[9, 6, 5, 5, 4, 3, 2, 1, 1]

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы сортировки списка Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅. ΠœΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sorted() ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° sort(), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ кастомных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° itemgetter(). Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ подходящий ΠΌΠ΅Ρ‚ΠΎΠ΄ сортировки Π² зависимости ΠΎΡ‚ вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

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

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

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

27 ΠœΠ΅Ρ‚ΠΎΠ΄ подсчСта. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° подсчСтом Python

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

✏️ Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Π΅ΠΉ Π² Python: Π»Π΅Π³ΠΊΠΈΠΉ Π³ΠΈΠ΄ ΠΈ совСты

πŸ”€ Как Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹ Π² словС ΠΏΠΈΡ‚ΠΎΠ½

πŸ”ŽΠšΠ°ΠΊ пСрСвСсти тСкст Python: простой ΠΈ понятный Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ” Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список Π² Python?

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅? 🐍

Как ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒ строку ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: простой ΠΌΠ΅Ρ‚ΠΎΠ΄ с использованиСм срСзов ΠΈ Ρ„ΡƒΠΊΠ½Ρ†ΠΈΠΉ

πŸ”’ Как ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ строки Π² спискС Python? Π£Π·Π½Π°ΠΉΡ‚Π΅ простой способ для подсчСта количСства строк Π² спискС Π² Python