Структуры данных в Python
Списки
Списки — это упорядоченные изменяемые коллекции объектов. Они могут содержать элементы различных типов и поддерживают операции динамического изменения длины.
**Создание списка:**
Списки создаются с помощью квадратных скобок `[]` или с помощью функции `list()`.
# Пример создания списка my_list = [1, 2, 3, 4, 5] another_list = list([6, 7, 8, 9, 10])
**Основные операции со списками:**
- **Добавление элемента:** Чтобы добавить элемент в конец списка, используйте метод `append()`.
my_list = [1, 2, 3, 4, 5] my_list.append(6) # my_list станет [1, 2, 3, 4, 5, 6]
- **Вставка элемента:** Метод `insert()` позволяет вставить элемент в указанную позицию.
my_list.insert(0, 0) # my_list станет [0, 1, 2, 3, 4, 5, 6]
- **Удаление элемента:** Методы `remove()` и `pop()` используются для удаления элементов.
my_list.remove(3) # Удалит первое вхождение 3, my_list станет [0, 1, 2, 4, 5, 6] my_list.pop() # Удалит последний элемент (6), my_list станет [0, 1, 2, 4, 5]
- **Итерация по спискам:** Списки поддерживают итерацию с использованием цикла `for`.
for item in my_list: print(item)
Кортежи — это упорядоченные и неизменяемые коллекции объектов. Они похожи на списки, но в отличие от последних, кортежи нельзя изменять после их создания.
**Создание кортежа:**
Кортежи создаются с помощью круглых скобок `()` или с помощью функции `tuple()`.
# Пример создания кортежа my_tuple = (1, 2, 3, 4, 5) another_tuple = tuple([6, 7, 8, 9, 10])
**Основные операции с кортежами:**
- Кортежи можно сканировать с помощью итерации:
for item in my_tuple: print(item)
- Индексация и срезы работают так же, как и у списков:
my_tuple = (1, 2, 3, 4, 5) first_item = my_tuple[0] # 1 sub_tuple = my_tuple[1:3] # (2, 3)
**Особенности кортежей:**
- Кортежи часто используются для хранения данных, которые не должны изменяться, например, координаты или даты.
- Поскольку они неизменяемы, кортежи имеют меньшую память по сравнению со списками.
**Описание:**
Множества — это неупорядоченные коллекции уникальных элементов. Они не поддерживают дубликаты и предоставляют множество операций для работы с математическими множествами.
**Создание множества:**
Множества создаются с помощью фигурных скобок `{}` или с помощью функции `set()`.
# Пример создания множества my_set = {1, 2, 3, 4, 5} another_set = set([3, 4, 5, 6, 7])
**Основные операции с множествами:**
- **Добавление элемента:** Используйте метод `add()`.
my_set.add(6) # my_set станет {1, 2, 3, 4, 5, 6}
- **Удаление элемента:** Используйте методы `remove()` или `discard()`.
my_set.remove(3) # Удаляет 3, если ее нет, возникает ошибка my_set.discard(10) # Не вызывает ошибку, если 10 нет
- **Операции над множествами:** Множества поддерживают операции объединения, пересечения и разности.
another_set = {5, 6, 7} union = my_set | another_set # Объединение intersection = my_set & another_set # Пересечение difference = my_set - another_set # Разность
**Описание:**
Словари — это неупорядоченные коллекции пар "ключ-значение". Каждый элемент словаря имеет уникальный ключ, который используется для доступа к соответствующему значению.
**Создание словаря:**
Словари создаются с помощью фигурных скобок `{}` или с помощью функции `dict()`.
# Пример создания словаря my_dict = {'name': 'Alice', 'age': 25, 'city': 'Moscow'} another_dict = dict(name='Bob', age=30, city='New York')
**Основные операции со словарями:**
- **Добавление и изменение элемента:** Вы можете добавлять или изменять элементы, обращаясь к ключу.
my_dict['age'] = 26 # Изменение значения по ключу 'age' my_dict['country'] = 'Russia' # Добавление нового ключа
- **Удаление элемента:** Используйте del
или метод pop()
del my_dict['city'] # Удаляет элемент с ключом 'city' age = my_dict.pop('age') # Удаляет элемент и возвращает его значение
- **Итерация по словарю:** Словари поддерживают итерацию как по ключам, так и по значениям.
for key in my_dict: print(key, my_dict[key]) # Итерация по ключам for value in my_dict.values(): print(value) # Итерация по значениям for key, value in my_dict.items(): print(key, value) # Итерация по ключам и значениям