Упорядкування та пошук даних в лінійній таблиці
У мові програмування Python для сортування списку використовують метод sort (). За замовчуванням метод сортує елементи списку в порядку зростання значень.
Метод може змінити порядок сортування за допомогою таких іменованих аргументів:
a=[25,26,50,45,1,17]
b=['м','а','ф','у','и']
print(a)
print(b)
a.sort()
b.sort()
print(a)
print(b)
Результат
[25, 26, 50, 45, 1, 17]
['м', 'а', 'ф', 'у', 'и']
[1, 17, 25, 26, 45, 50]
['а', 'и', 'м', 'у', 'ф']
>>>
key — аргумент, який дає змогу визначити власну функцію порівняння при виклику методу sort () (мал. 14.4). Ця функція отримує один єдиний аргумент і повертає значення, яке буде використовуватися в операції порівняння;
• reverse — аргумент, який використовується для вказівки порядку сортування елементів. Якщо reverse = True, то елементи списку сортуються в порядку спадання.
a=[25,26,50,45,1,17]
b=['м','а','ф','у','и']
print(a)
print(b)
a.sort(reverse=True)
b.sort(reverse=True)
print(a)
print(b)
Результат
[25, 26, 50, 45, 1, 17]
['м', 'а', 'ф', 'у', 'и']
[50, 45, 26, 25, 17, 1]
['ф', 'у', 'м', 'и', 'а']
>>>
Для демонстрації використання ключа key в методі сортування роз-
глянемо задачу. Нехай маємо список слів «мама», «тато», «Оксана», «Тарас». Відсортуємо список за зростанням та спаданням, використавши для порівняння функцію переведення символу з нижнього регістру до верхнього upper ():
#Заданий список рядків
s=['мамо','тато','Оксана','Тарас']
s2=list(s)#Створити новий список
s2.sort(key=str.upper)#Відсортувати за ключом key упорядкувати за зрост.вн рег.
s3=list(s)#Створити новий список
s3.sort(key=str.upper,reverse=True)#Відсортувати за ключом key упорядкувати за спад.вн рег.
print(s)
print(s2)
print(s3)
Результат
['мамо', 'тато', 'Оксана', 'Тарас']
['мамо', 'Оксана', 'Тарас', 'тато']
['тато', 'Тарас', 'Оксана', 'мамо']
>>>
Працюємо гуртом
Вправа 1. У середовищі програмування складіть проєкт Словник, у якому слова, що вводяться користувачем, утворюють список, записаний в алфавітному порядку.
як варіант
кількість осіб4
введіть ім'яДен
введіть ім'яПетро
введіть ім'яГанна
введіть ім'яСоня
черга
['Ден', 'Петро', 'Ганна', 'Соня']
перший прийшов — перший пішов;
[0, 1, 2, 3]
перший прийшов — останній пішов.;
[3, 2, 1, 0]
>>>
Вправа 2. У середовищі програмування складіть проєкт Функція, у якому
буде формуватися список, що міститиме дані з вихідного списку в порядку спадання, за якими йдуть дані вихідного списку за зростанням.
як варіант
вихідний список
[-87, 56, 58, 67, 42, 66, 15, 86, -54, 14]
функція
[86, 67, 66, 58, 56, 42, 15, 14, -54, -87, -87, -54, 14, 15, 42, 56, 58, 66, 67, 86]
>>>
Практичне завдання
1
Читати підручник
Розділ 3; §14 стор.159-165Інформатика. Підручник для 9 кл. / Н. В. Морзе, О. В. Барна.