05. Коллекции данных
Что такое коллекции данных
Коллекции — это структуры, которые позволяют хранить сразу много значений в одной переменной. Например, список студентов, телефонов или товаров в корзине.Если переменная — это одна коробка, то коллекция — это чемодан, в который можно сложить сразу несколько вещей.
В Python есть 4 основных типа коллекций:
- list — список (изменяемый, упорядоченный).
- tuple — кортеж (неизменяемый, упорядоченный).
- set — множество (уникальные элементы, без порядка).
- dict — словарь (пары ключ-значение).
Списки (list)
Список создаётся с помощью квадратных скобок []:
fruits = ['яблоко', 'банан', 'груша']
print(fruits)
Можно обращаться к элементам по индексу (нумерация с нуля):
print(fruits[0]) # яблоко
print(fruits[2]) # груша
Изменение списка
fruits[1] = 'апельсин'
print(fruits)
Результат:
['яблоко', 'апельсин', 'груша']
Методы списков
- append(x) — добавить элемент в конец
- insert(i, x) — вставить элемент по индексу
- remove(x) — удалить по значению
- pop(i) — удалить по индексу (или последний)
- sort() — сортировка
- reverse() — переворот списка
nums = [3, 1, 4, 1, 5]
nums.append(9)
nums.sort()
print(nums)
Результат:
[1, 1, 3, 4, 5, 9]
Перебор списка
for fruit in fruits:
print('Я люблю', fruit)
Кортежи (tuple)
Кортеж — это как список, но его нельзя изменить. Он создаётся с помощью круглых скобок ():
colors = ('красный', 'зелёный', 'синий')
print(colors[0])
Если вы хотите, чтобы данные были защищены от изменений — используйте кортеж.
Множества (set)
Множество — это коллекция, где все элементы уникальны и порядок не важен.
nums = {1, 2, 3, 3, 2, 1}
print(nums)
Результат:
{1, 2, 3}
Операции с множествами
- union() — объединение
- intersection() — пересечение
- difference() — разность
a = {1, 2, 3}
b = {3, 4, 5}
print(a.union(b)) # {1, 2, 3, 4, 5}
print(a.intersection(b)) # {3}
print(a.difference(b)) # {1, 2}
Словари (dict)
Словарь хранит данные в виде пар «ключ: значение».
user = {
'name': 'Анна',
'age': 25,
'city': 'Москва'
}
print(user['name']) # Анна
Добавление и изменение значений
user['age'] = 26
user['email'] = 'anna@mail.com'
print(user)
Перебор словаря
for key, value in user.items():
print(key, '→', value)
Результат:
name → Анна
age → 26
city → Москва
email → anna@mail.com
Полезные методы словарей
- keys() — получить все ключи
- values() — получить все значения
- items() — получить пары ключ-значение
- get(key, default) — безопасное получение значения
Пример:
print(user.get('phone', 'Нет телефона'))
Комбинирование коллекций
Коллекции можно вкладывать друг в друга:
users = [
{'name': 'Анна', 'age': 25},
{'name': 'Иван', 'age': 30}
]
for u in users:
print(u['name'], '—', u['age'])
Практические примеры
- Создайте список покупок и выведите каждый товар с номером.
- Создайте словарь с оценками студентов и выведите средний балл.
- Создайте множество уникальных имён из списка с повторениями.
- Создайте кортеж с днями недели и выведите третий день.
Типичные ошибки новичков
- Путают список и словарь — используют {} вместо [].
- Пытаются изменить кортеж (tuple) — он неизменяемый.
- Думают, что set хранит порядок — на самом деле нет.
- Забывают кавычки у ключей в словаре.
Мини-проект: словарь переводов
words = {
'cat': 'кот',
'dog': 'собака',
'bird': 'птица'
}
word = input('Введите слово (cat, dog, bird): ')
print('Перевод:', words.get(word, 'Нет перевода'))
Итоги урока
Теперь вы знаете:- Что такое коллекции данных и зачем они нужны.
- Как работать со списками, кортежами, множествами и словарями.
- Как добавлять, изменять и перебирать элементы коллекций.
- Как комбинировать коллекции и использовать их в реальных задачах.