πŸ“š Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π² Python: Π»Π΅Π³ΠΊΠΈΠΉ способ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π’ Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sorted() ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° sort(). Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

# Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° списка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sorted()
Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° = ['Книга C', 'Книга A', 'Книга D', 'Книга B']
отсортированная_Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° = sorted(Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°)
print(отсортированная_Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°)

# Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° списка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° sort()
Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° = ['Книга C', 'Книга A', 'Книга D', 'Книга B']
Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°.sort()
print(Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°)

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

Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π² Python

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Python являСтся Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большим объСмом Π΄Π°Π½Π½Ρ‹Ρ…. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим нСсколько способов, ΠΊΠ°ΠΊ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π² Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

1. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ

Одним ΠΈΠ· самых распространСнных способов сортировки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ являСтся использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sorted() с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ key. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая опрСдСляСт ΠΊΠ»ΡŽΡ‡ сортировки для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

books = [
    {'title': '1984', 'author': 'George Orwell'},
    {'title': 'To Kill a Mockingbird', 'author': 'Harper Lee'},
    {'title': 'The Great Gatsby', 'author': 'F. Scott Fitzgerald'}
]

sorted_books = sorted(books, key=lambda book: book['title'])
print(sorted_books)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ анонимная функция lambda, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° сортировки для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. ΠœΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ сортировки Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 'title' ('Π½Π°Π·Π²Π°Π½ΠΈΠ΅').

2. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ нСскольким ΠΊΠ»ΡŽΡ‡Π°ΠΌ

Иногда трСбуСтся сортировка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎ нСскольким ΠΊΠ»ΡŽΡ‡Π°ΠΌ. Π’ Python это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² список ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ key Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sorted().

books = [
    {'title': '1984', 'author': 'George Orwell'},
    {'title': 'To Kill a Mockingbird', 'author': 'Harper Lee'},
    {'title': 'The Great Gatsby', 'author': 'F. Scott Fitzgerald'}
]

sorted_books = sorted(books, key=lambda book: (book['author'], book['title']))
print(sorted_books)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ список ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (book['author'], book['title']) для опрСдСлСния порядка сортировки. Π‘Π½Π°Ρ‡Π°Π»Π° ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Π°Π²Ρ‚ΠΎΡ€Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ - ΠΏΠΎ названию.

3. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС

Если трСбуСтся ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ reverse Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sorted(). УстановитС Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² True.

books = [
    {'title': '1984', 'author': 'George Orwell'},
    {'title': 'To Kill a Mockingbird', 'author': 'Harper Lee'},
    {'title': 'The Great Gatsby', 'author': 'F. Scott Fitzgerald'}
]

sorted_books = sorted(books, key=lambda book: book['title'], reverse=True)
print(sorted_books)

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΠΎ названию Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС.

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

ΠšΡ€ΠΎΠΌΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sorted(), ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ sort() для сортировки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Python. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ примСняСтся ΠΊ самой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΈ измСняСт Π΅Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя.

books = [
    {'title': '1984', 'author': 'George Orwell'},
    {'title': 'To Kill a Mockingbird', 'author': 'Harper Lee'},
    {'title': 'The Great Gatsby', 'author': 'F. Scott Fitzgerald'}
]

books.sort(key=lambda book: book['title'])
print(books)

ΠœΠ΅Ρ‚ΠΎΠ΄ sort() измСняСт саму Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈ сортируСт Π΅Π΅ ΠΏΠΎ названию.

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

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ сортировки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ - использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ itemgetter() ΠΈΠ· модуля operator. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ создаСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°.

from operator import itemgetter

books = [
    {'title': '1984', 'author': 'George Orwell'},
    {'title': 'To Kill a Mockingbird', 'author': 'Harper Lee'},
    {'title': 'The Great Gatsby', 'author': 'F. Scott Fitzgerald'}
]

sorted_books = sorted(books, key=itemgetter('title'))
print(sorted_books)

Ѐункция itemgetter('title') Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° 'title' для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. Π—Π°Ρ‚Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° сортируСтся с использованиСм этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² качСствС ΠΊΠ»ΡŽΡ‡Π° сортировки.

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько способов сортировки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sorted() с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ key ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ sort(). Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ порядком сортировки ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ нСскольким ΠΊΠ»ΡŽΡ‡Π°ΠΌ.

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

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

Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Python. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° словаря ΠΏΠΎ значСниям

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

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

πŸ’‘ Как Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π² массивС Python?

πŸ”§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Python: пошаговая инструкция ΠΈ совСты

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ°ΠΉΠ½Π΅Ρ€ Π½Π° Python: пошаговоС руководство

πŸ“š Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π² Python: Π»Π΅Π³ΠΊΠΈΠΉ способ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠ΅ руководство: ΠΊΠ°ΠΊ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π² tkinter python с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ πŸ”’

πŸ”§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ttk Π½Π° Python? ΠŸΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… πŸ”§

Как вывСсти слова ΠΈΠ· списка Π² Python: пошаговая инструкция с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ 🐍