Списки

Привет! Сегодня мы поговорим о списках в Python.

Список (List) в Python - это упорядоченная коллекция элементов, которые могут быть различных типов данных. Списки очень полезны, так как они позволяют хранить множество переменных в одной структуре данных, делая код более организованным и удобным.

Создание

Создать пустой список можно с помощью пустых квадратных скобок.

my_list = []

Чтобы создать список с начальными значениями, можно перечислить элементы, разделяя их запятыми внутри квадратных скобок.

my_list = [1, 2, 3]

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

my_list = [1, 1.1, 'abc', [1, 2, 3]]

Взаимодействия

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

  1. Метод append() добавляет переменную (число, строка и т.д.) в конец списка

    a = [1, 2, 3] a.append(4) # a = [1, 2, 3, 4]
  2. Метод extend() добавляет элементы коллекции (список, кортеж и т.д.) в конец списка

    a = [1, 2, 3] a.extend([4, 5, 6]) # a = [1, 2, 3, 4, 5, 6]
  3. Метод insert() добавляет элемент по индексу (первый аргумент метода - элемент, второй - индекс)

    a = [1, 2, 3, 5] a.insert(3, 4) # a = [1, 2, 3, 4, 5]
  4. Метод remove() удаляет элемент по значению

    a = [1, 2, 3, 4, 5] a.remove(3) # a = [1, 2, 4, 5]
  5. Метод pop() удаляет элемент по индексу (если не указать индекс, то удалится последний элемент)

    a = [1, 2, 3, 4] a.pop(1) # a = [1, 3, 4] a.pop() # a = [1, 3]
  6. Метод index() выполняет поиск индекса элемента в списке

    a = [1, 2, 3, 4] a.index(2) # 1
  7. Метод reverse() изменяет порядок элементов на обратный

    a = [1, 2, 3, 4] a.reverse() # a = [4, 3, 2, 1]
  8. Метод count() считает сколько раз элемент встречается в списке

    a = [1, 2, 2, 2, 3] a.count(2) # 3
  9. Метод clear() очищает список

    a = [1, 2, 3] a.clear() # a = []
  10. Метод sort() сортирует список

    a = [4, 1, 3, 2] a.sort() # a = [1, 2, 3, 4] b = ['г', 'а', 'в', 'б'] b.sort() # b = ['а', 'б', 'в', 'г']
  11. Метод split() разделяет строку на список (по умолчанию разделителем считается пробел)

    a = '1 2 3 4'.split() # a = ['1', '2', '3', '4'] b = '1, 2, 3, 4'.split(', ') # b = ['1', '2', '3', '4']
  12. Метод join() создаёт строку из списка (в метод join можно передавать только список строк)

    a = ['1', '2', '3', '4'] s = ' '.join(a) # s = '1 2 3 4'

Срез списка

Списки это итерируемые объекты, то есть вы можете взять список не полностью, я частично, это называется срез списка. С помощью срезов можно получать подсписки из списка, указывая начальный, конечный и шаг индексов, как в функции range

a = [1, 2, 3, 4, 5] # вывод части списка при помощи цикла с функцией range for i in range(1, 4): print(a[i]) # 2 3 4 # тот же код, но записанный короче при помощи среза print(a[1:4]) # 2 3 4

Функции списков

Функция len() возвращает длину списка

a = [1, 2, 3, 4] print(len(a)) # 4

Функция sum() возвращает сумму элементов списка (если в списке есть не числа, то будет ошибка)

a = [1, 2, 3, 4] print(sum(a)) # 10

Функция min() возвращает наименьший элемент списка (если в списке есть переменные разных типов данных, то будет ошибка)

a = [1, 2, 3, 4] print(min(a)) # 1 b = ['a', 'b', 'c', 'd'] print(min(b)) # a

Функция max() возвращает наибольший элемент списка (если в списке есть переменные разных типов данных, то будет ошибка)

a = [1, 2, 3, 4] print(max(a)) # 4 b = ['a', 'b', 'c', 'd'] print(max(b)) # d

Оператор in

Оператор списка in работает точно также как и в цикле с функцией range. Он проверяет есть ли данный элемент в списке. Данный оператор похож на метод find() и отличается только выводом

a = [1, 2, 3, 4] print(2 in a) # True print(12 in a) # False

Генератор списка

Генераторы списков позволяют создавать списки в одну строку на основе цикла.

squared_numbers = [x**2 for x in range(1, 6)]

В генератор списка можно добавить условие добавления элемента в список.

even_squared_numbers = [x**2 for x in range(1, 6) if x % 2 == 0]

Вывод элементов списка

При выводе списка его можно "распаковать" при помощи символа *, то есть убрать из вывода символы, которые дают нам понять что это список: квадратные скобки, запятые и кавычки ([],'')

a = [1, 2, 3, 'a'] print(a) # [1, 2, 3, 'a'] print(*a) # 1 2 3 a

В следующем уроке мы рассмотрим кортежи и узнаем чем они отличаются от списков в Python.