11 методів списку Python, які потрібно знати

У цьому підручнику ви дізнаєтеся, як використовувати методи списків Python для додавання елементів до списків Python, їх зміни та видалення.

Коли ви починаєте програмувати на Python, списки є однією з перших вбудованих структур даних, про які ви дізнаєтеся. Протягом наступних кількох хвилин ми розглянемо основи списків Python, а потім розглянемо кілька корисних методів списків, які можна використовувати під час роботи зі списками.

Давайте почнемо!

Огляд списків Python

У Python список — це набір елементів одного або різних типів даних. Ви можете прокручувати колекцію, щоб отримати доступ до елементів за допомогою конструкцій циклу, таких як цикли for.

Як і всі ітерації Python, списки дотримуються нульової індексації та підтримують операцію нарізки.

Це змінні колекції, тому ви можете змінювати їх на місці. Це включає додавання та видалення елементів зі списку, сортування елементів у певному порядку, зміну порядку елементів на протилежний і багато іншого. Вбудовані методи списку Python допомагають виконувати ці дії.

Далі розглянемо деякі корисні методи списку Python.

Вбудовані методи списку в Python

У цьому розділі ми дізнаємося про деякі методи списків, які стануть у нагоді. Ми напишемо приклади коду, щоб побачити ці методи списку в дії.

Ми будемо використовувати наступний список pgm_langs. Це список рядків, що містять назви популярних мов програмування.

pgm_langs = ['Python','Go','Rust','JavaScript']

Вставити елементи списку за допомогою insert()

Ви можете вставити елемент за певним індексом. Для цього можна використовувати метод insert(). Виклик методу списку insert() приймає:

  • Індекс, за яким слід вставити елемент, і
  • Елемент для вставки.
  Чому я підключений до Wi-Fi, але не до Інтернету?

Давайте вставимо «Scala» в індекс 1 за допомогою методу index().

pgm_langs = ['Python','Go','Rust','JavaScript']
pgm_langs.insert(1,'Scala')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript']

Додати елемент до списку за допомогою append()

Іноді може знадобитися додати елемент у кінець списку. Для цього можна скористатися методом append().

Давайте додамо рядок «Java» в кінець списку за допомогою методу append().

pgm_langs.append('Java')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']

Додайте Iterable за допомогою extend()

Ви знаєте, що можна використовувати метод append(), щоб додати один елемент. Але що, якщо ви бажаєте додати більше одного елемента до існуючого списку, скажімо, до списку елементів? Метод extend() забезпечує стислий синтаксис для цього.

Давайте додамо елементи списку more_langs до списку pgm_langs за допомогою методу extend().

more_langs = ['C++','C#','C']
pgm_langs.extend(more_langs)
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']

Ви можете прокрутити список елементів і використовувати метод append(), щоб додавати один елемент за раз. Однак це багатослівно. І замість цього зручніше використовувати метод extend().

for lang in more_langs:
    pgm_langs.append(lang)

Перевернути список за допомогою reverse()

Щоб змінити порядок елементів у списку, ви можете викликати метод reverse().

Ми бачимо, що список pgm_langs було перевернуто.

pgm_langs.reverse()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']

Сортувати список за допомогою sort()

Ви можете сортувати список Python на місці за допомогою методу sort(). Оскільки pgm_langs — це список рядків, ми бачимо, що сортування відбувається в алфавітному порядку.

pgm_langs.sort()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']

Щоб відсортувати список у зворотному алфавітному порядку, ви можете встановити для параметра reverse значення True у виклику методу sort().

pgm_langs.sort(reverse=True)
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Докладніше про сортування списків Python.

  7 генераторів розмітки схем, щоб просунутися вперед у вашій пошуковій грі

Зробіть поверхневу копію за допомогою copy()

Іноді може бути корисним змінити копію оригінального списку замість того, щоб змінювати сам вихідний список. Метод списку copy() повертає поверхневу копію списку Python.

Давайте створимо поверхневу копію списку pgm_langs і назвемо її pgm_langs_copy. І ми встановлюємо перший елемент у списку на «Haskell» і друкуємо його.

pgm_langs_copy = pgm_langs.copy()
pgm_langs_copy[0]='Haskell'
print(pgm_langs_copy)
# Output: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Однак ми бачимо, що список pgm_langs не змінено. Таким чином, створення неглибокої копії та її зміна не змінює оригінальний список.

print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Отримати кількість елементів за допомогою count()

Іноді корисно знати, скільки разів певний елемент зустрічається в списку. Метод count() повертає кількість разів, коли елемент зустрічається в списку.

У списку pgm_langs усі елементи зустрічаються точно один раз. Отже, коли ми намагаємося отримати кількість «Go», ми отримуємо 1, що є правильним.

print(pgm_langs.count('Go'))
# Output: 1

Використання методу count() є одним із способів видалення повторюваних елементів зі списків Python.

Отримати індекс елемента за допомогою index()

Щоб знайти індекс елемента в списку Python, ви можете скористатися методом index(). Припустімо, ми хочемо знайти індекс «C#» у списку pgm_langs. Ми можемо використати оператор assert, щоб перевірити, що елемент з індексом 7 є «C#».

print(pgm_langs.index('C#'))
# Output: 7
assert pgm_langs[7] == 'C#'

Видалити елемент в індексі за допомогою pop()

Тепер давайте розглянемо список методів list для видалення елементів зі списків Python. Метод pop() використовується для видалення та повернення елемента з певним індексом. З попереднього прикладу коду ми знаємо, що «C#» — це мова під індексом 7.

  Що таке фокус кнопки «Назад»?

Коли ми викликаємо метод pop() у списку pgm_langs з індексом 7, ми бачимо, що він повертає «C#», елемент з індексом 7, і також видаляє його зі списку.

print(pgm_langs.pop(7))
# Output: 'C#'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']

Тому метод pop() видаляє та повертає елемент із вказаним індексом. Однак вказувати індекс необов’язково. Якщо ви не вказуєте індекс, метод pop() видаляє та повертає останній елемент у списку Python, як показано:

print(pgm_langs.pop())
# Output: 'C'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']

Видалити елементи за допомогою remove()

Іноді ви можете знати, який елемент видалити, але не знати його індекс. У цьому випадку ви можете використовувати метод remove(), який приймає елемент для видалення та видаляє його. Давайте видалимо «Java» зі списку pgm_langs за допомогою методу remove(), як показано.

pgm_langs.remove('Java')
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']

Видалити всі елементи за допомогою clear()

Що робити, якщо ви хочете видалити всі елементи зі списку Python? Ви можете прокрутити список і видалити кожен елемент за допомогою методу remove(), наприклад:

for lang in pgm_langs:
    pgm_langs.remove(lang)

Але чи є кращий спосіб? Так, за допомогою методу clear(). Ми бачимо, що виклик методу clear зі списку pgm_langs видаляє всі елементи, а pgm_langs тепер є порожнім списком.

pgm_langs.clear()
print(pgm_langs)
# Output: []

Короткий опис методів списків Python

Давайте коротко підсумуємо різні методи списку та їхній синтаксис:

List MethodSyntaxDescriptioninsert()list1.insert(index, elt)Вставляє elt в індекс у list1append()list1.append(elt)Додає elt у кінець list1extend()list1.extend(list2)Додає елементи зі списку2 в кінець list1sort ()list1.sort()Сортує список у placereverse()list1.reverse()Змінює список 1 у placecopy()list1.copy()Повертає поверхневу копію list1count()list1.count(elt)Повертає кількість elt у list1index()list1.index(elt)Повертає індекс elt у list1pop()list1.pop(index)Видаляє elt за індексом і повертає його. remove()list1.remove(elt)Видаляє elt зі списку1clear()list1.clear()Видаляє всі елементи зі списку1

Висновок

Сподіваюся, цей посібник допоміг вам зрозуміти, як використовувати деякі з найпоширеніших методів списку в Python. Як наступний крок дізнайтеся про кортежі Python і відмінності між списками та кортежами в Python.

Якщо ви вивчаєте Python, ви можете переглянути цей список навчальних ресурсів, зручних для початківців.