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, 'Нет перевода'))

Итоги урока

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