
Введение
В Python есть четыре главных типа коллекций: списки, кортежи, множества и словари. Их можно сравнить с инструментами в ящике программиста: каждый имеет своё предназначение и без них сложно обойтись. Сегодня мы не просто их изучим, а сделаем это с юмором и примерами из жизни! 🚀
1. Списки – универсальные «коробки» данных 📦
Списки (list) – это, пожалуй, самый используемый тип коллекции в Python. Они изменяемые, динамические и умеют хранить любые типы данных.
Создание списков
fruits = ["яблоко", "банан", "апельсин"]
empty_list = []  # Пустой список
mixed_list = [1, "hello", 3.14, True]  # Список может содержать всё!
Операции со списками
fruits.append("груша")  # Добавляем элемент в конец
fruits.insert(1, "вишня")  # Вставляем элемент по индексу
fruits.remove("банан")  # Удаляем элемент
last_fruit = fruits.pop()  # Удаляем и возвращаем последний элемент
print(fruits)
Пример из жизни: представьте, что у вас есть корзина с фруктами, и вы можете добавлять, убирать и тасовать их по своему желанию. 🍏🍊🍒
2. Кортежи – неизменяемые списки 🎭
Кортеж (tuple) – это список, но с защитой от изменений. Он удобен, если данные должны оставаться неизменными.
Создание кортежей
tuple_example = (1, 2, 3, "Привет")
empty_tuple = ()  # Пустой кортеж
single_tuple = (5,)  # Один элемент! Запятая важна!
Доступ к элементам
print(tuple_example[0])  # Первый элемент
print(tuple_example[-1])  # Последний элемент
Но вот что интересно:
tuple_example[1] = 100  # ОШИБКА! Кортеж нельзя изменить
Пример из жизни: представьте, что кортеж – это билет в кино. Вы его купили, но изменить место или фильм уже нельзя. 🎟️
3. Множества – хаос без дубликатов 🎲
Множество (set) – это коллекция уникальных элементов. Если вам надо хранить что-то без повторений – это ваш выбор.
Создание множеств
unique_numbers = {1, 2, 3, 4, 4, 4, 5}  # Дубликаты автоматически удаляются!
empty_set = set()  # Пустое множество (а {} – это словарь!)
Операции с множествами
unique_numbers.add(10)  # Добавляем элемент
unique_numbers.remove(2)  # Удаляем элемент
print(unique_numbers)
Пример из жизни: представьте вечеринку, куда нельзя заходить дважды. Если человек уже пришёл, его второй раз не пустят! 🎉
4. Словари – лучший способ хранить данные 📚
Словарь (dict) – это коллекция пар «ключ-значение». Если список – это коробка, то словарь – это целый каталог с разделами!
Создание словарей
person = {
    "имя": "Иван",
    "возраст": 25,
    "город": "Москва"
}
empty_dict = {}  # Пустой словарь
Операции со словарями
print(person["имя"])  # Иван
person["возраст"] = 26  # Изменяем значение
person["профессия"] = "Программист"  # Добавляем новую пару
Пример из жизни: словарь – это телефонная книга. У каждого контакта есть имя (ключ) и номер (значение). 📞
Итоги
| Тип коллекции | Изменяемый? | Уникальные элементы? | Доступ по индексу? | 
|---|---|---|---|
| Список | ✅ Да | ❌ Нет | ✅ Да | 
| Кортеж | ❌ Нет | ❌ Нет | ✅ Да | 
| Множество | ✅ Да | ✅ Да | ❌ Нет | 
| Словарь | ✅ Да | 🔸 Уникальные ключи | 🔸 По ключу | 
💡 Вывод:
- Если вам нужна упорядоченная изменяемая коллекция – список.
 - Если нужна неизменяемая последовательность – кортеж.
 - Если важны только уникальные элементы – множество.
 - Если нужны пары «ключ-значение» – словарь.
 
Теперь вы знаете, какие коллекции использовать, чтобы ваш код был чистым, быстрым и красивым! 🚀