У мовах програмування, зокрема Python, є символи, числа і класи. А є колекції, до яких належать структури даних, — масиви та списки. Якраз про останні ми і хочемо поговорити з вами сьогодні, тому що саме списки називають одними з найважливіших об'єктів у Python.
Стаття буде особливо корисною для тих, хто вже перебуває в процесі освоєння Python і в тому числі проходить наш курс "Основи Python з нуля до функціонального проекту". Ми будемо працювати з прикладами, тому розраховуємо, що у вас вже встановлено середовище розробки Python.
Списки у Python— це впорядковані набори об'єктів, нумерація яких починається з 0. У списку можуть бути різні об'єкти — від цілих чисел до рядків. Крім того, у списках можуть зберігатися додаткові списки.
Кожен елемент у списку має свій номер, завдяки якому можна швидко звернутися саме до нього. Схематично це виглядає так:
Тут важливо додати, що в одному списку можуть бути дані різних типів. Наприклад, рядки та числа:
Важлива перевага списків Python — їх можна міняти буквально на ходу. Ви можете видаляти окремі елементи, додавати нові, міняти їх місцями тощо. Головне – зберігати нумерацію, щоб можна було звертатися до цих елементів. При цьому, коли ви додаєте об'єкт, Python автоматично виділяє під нього пам'ять. А коли ви видаляєте — вивільняє її.
Давайте для кращого розуміння перейдемо до практичної частини!
Існує кілька способів створення списку Python:
{{ }}
Виглядає це так:
Тут варто ще раз нагадати, що нумерація у списках Python починається з нуля. Тобто, якщо ви використовуєте командуprint(numbers[0]), на екран буде виведена одиниця.
{{ }}
{{ }}
У цьому випадку список формується таким чином:
Крім іншого, можна задіяти спеціальні генератори списків, за допомогою яких ви можете застосовувати задані вирази до кожного елемента в послідовності. Наприклад, ви хочете створити список (list), в якому містяться числа від 1 до 5. Це буде виглядати так:
Як і було сказано вище, у Python можна використовувати вкладені списки. Це робиться шляхом використання квадратних дужок усередині інших квадратних дужок:
Тобто ми отримуємо об'єкт, який складається з чисел 1 та 2, а також вкладеного списку з числами 3 та 4. Нічого складного, правда? Головне – не забувати закривати всі квадратні дужки.
Зберігання даних у списках – це зручно. Але яка у цьому практична користь для розробника? А користь у тому, що з такими списками можна здійснювати безліч різних операцій. Найбільш популярні з них ми розглянемо далі.
У Python є 4 прості вбудовані функції, за допомогою яких можна дізнатися довжину списку, виконати його сортування, повертати мінімальне та максимальне значення. Розглянемо ці функції на прикладах!
{{ }}
{{ }}
До речі, є кілька способів, за допомогою яких можна автоматизувати створення списків. Наприклад, так легко можна сформувати простий список зі значеннями:
Є й складніший варіант. Наприклад, можна вказати певні умови для створення елементів:
Завдяки зрізам ви можете отримати певне підмножина значень. Наприклад, використовуючи наступний код, ви можете повернути список з елементами, починаючи з 0-індексу, але виключивши індекс 2 і вище:
Подібним чином можна вивести все, крім елемента на третій позиції:
А ось так можна вивести все, починаючи з 1 до кінця:
Для списків створено чимало методів. Розглянемо деякі з них із прикладами коду.
{{ }}
{{ }}
Однак, вам не обов'язково використовувати дефолтний метод сортування. Можна, наприклад, виконати сортування у зворотному порядку — від більшого до меншого:
Списки - це дуже зручна структура даних, що дозволяє працювати з об'єктами, що ітеруються. На перший погляд, може бути не зовсім зрозуміло, яке у них практичне застосування і в яких випадках їх потрібно використовувати. Але давайте уявимо простий приклад. Припустимо, ви хочете написати скрипт, який автоматично перевірятиме, чи є певна модель автомобіля розробкою компанії Tesla.
Для вирішення цього завдання якраз чудово і підходить робота зі списками:
Тобто, ми досить легко написали простий скрипт, який автоматизує завдання і заощаджує трохи часу. Адже це дуже примітивний приклад. Списки Python відкривають просто колосальні можливості. Але щоб ефективно працювати з ними, необхідно витратити час на вивчення теорії та практичні завдання.
Насамкінець давайте закріпимо найголовніше з нашої статті:
Насамкінець хочемо дати вам невелику пораду: більше практики!
Щоб запам'ятати всі принципи роботи зі списками та швидше розібратися в їхній логіці, постарайтеся повторити усі наведені вище приклади. Впевнені, жодних особливих складнощів у вас не виникне. Надалі ви зможете перейти до складніших прикладів та завдань. А згодом знаходитимете нові, часом найнесподіваніші способи застосування Python-списків у своїй роботі.