№9 Списки (list) / Уроки по Python для начинающих

Предыдущий урок: Операторы в Python

В языке программирования Python существует четыре типа данных для хранения последовательностей:

  • List (список) — упорядоченная последовательность, которую можно изменять. Допускаются одинаковые элементы.
  • Tuple (кортеж) — последовательность, которая упорядочена, но не изменяемая. Допускаются одинаковые элементы.
  • Set (множество) — неупорядоченная изменяемая последовательность. Одинаковые элементы удаляются.
  • Dict (словарь) — неупорядоченная изменяемая последовательность, состоящая из пар ключ, значение. Ключи не дублируются.

При выборе типа последовательности полезно знать и понимать свойства каждого из типов. Выбор правильного типа для определенного набора данных помогает сохранить смысл, и это дает повышение эффективности или безопасности.

Списки

Списки это упорядоченная и изменяемая последовательность. В Python списки записываются в квадратных скобках.

Создание списка:

thislist = ["яблоко", "банан", "вишня"]
print(thislist)

Вывод:

["яблоко", "банан", "вишня"]

Доступ к элементам списка

Вы получаете доступ к элементам списка, ссылаясь на номер индекса.
Выведем второй элемент списка:

thislist = ["яблоко", "банан", "вишня"]
print(thislist[1])

Вывод:

"банан"

Как изменить значение по индексу

Для того, чтобы изменить значение определенного элемента, ссылайтесь на номер индекса.
Поменяйте второй элемент:

thislist = ["яблоко", "банан", "вишня"]
thislist[1] = "смородина"  
print(thislist)

Вывод:

["яблоко", "смородина", "вишня"]

Итерация по списку

Вы можете проходить по элементам списка с помощью цикла for
Выведем все элементы в списке, один за другим:

thislist = ["яблоко", "банан", "вишня"]
for x in thislist:  
    print(x)

Вывод:

яблоко
банан
вишня

Узнать больше о цикле for вы можете изучив раздел Python цикл for.

Длина списка

Чтобы определить сколько элементов списка у вас есть, пользуйтесь методом len()
Выведем число элементов в списке:

thislist = ["яблоко", "банан", "вишня"]
print(len(thislist))

Вывод:

3

Добавить элементы

Чтобы добавить элементы в конец списка, используйте метод append()

thislist = ["яблоко", "банан", "вишня"]
thislist.append("апельсин")  
print(thislist)

Вывод:

["яблоко", "банан", "вишня", "апельсин"]

Для того, чтобы добавить элемент по указанному индексу, используйте метод insert():

Вставьте элемент в качестве второй позиции:

thislist = ["яблоко", "банан", "вишня"]
thislist.insert(1, "апельсин")  
print(thislist)

Вывод:

["яблоко", "апельсин", "банан", "вишня"]

Удаление элементов

Существует несколько методов удаления элементов списка
Метод remove() удаляет определенные элементы:

thislist = ["яблоко", "банан", "вишня"]
thislist.remove("банан")  
print(thislist)

Вывод:

["яблоко", "вишня"]

Метод pop() удаляет элемент по индексу (или последний элемент, если индекс не указан) и возвращает его:

thislist = ["яблоко", "банан", "вишня"]
last_element = thislist.pop()  
print(thislist)
print(last_element)

Вывод:

["яблоко", "банан"]
"вишня"

Ключевое слово del удаляет определенный индекс:

thislist = ["яблоко", "банан", "вишня"]
del thislist[0]  
print(thislist)

Вывод:

["банан", "вишня"]

Ключевое слово del может полностью удалить список:

thislist = ["яблоко", "банан", "вишня"]
del thislist  
print(thislist)  # это вызывает ошибку так, как "thislist" больше не существует.

Метод clear() очищает список:

thislist = ["яблоко", "банан", "вишня"]
thislist.clear()  
print(thislist)

Вывод:

[]

Конструктор list()

Вы так же можете использовать конструктор list() для создания списка.


thislist = list(("яблоко", "банан", "вишня"))  # обратите внимание на двойные круглые скобки 
print(thislist)

Вывод:

["яблоко", "банан", "вишня"]

Методы списков

Более подробно о применении методов списков:

У Python есть набор встроенных методов, которые вы можете использовать при работе со списками:

МетодЗначение
append()Добавляет элемент(ы) в конец списка
clear()Удаляет все элементы в списке
copy()Возвращает копию списка
count()Возвращает число элементов с определенным значением
extend()Добавляет элементы в конец текущего списка
index()Возвращает индекс первого элемента с определенным значением
insert()Добавляет элемент по индексу
pop()Удаляет элемент по индексу или последний
remove()Удаляет элементы по значению
reverse()Разворачивает список
sort()Сортирует список

Далее: Кортежи (tuple)