Информатика · 10 класс2 четвертьТема 3ГОСО РК 2026Базовый

Продвинутые структуры данных в Python: tuple, set, dict

Неизменяемые кортежи tuple, уникальные множества set, ассоциативные словари dict (пары ключ-значение), хеширование, генераторы list/dict comprehension.

Время изучения~60 минтеория + практика
Разделы темы4 разд.пошаговый разбор
Тест темы2 вопр.с мгновенным ответом
СОР / СОЧ2 четвертьдескрипторы ГОСО

Кортеж (tuple) в языке Python — это упорядоченная НЕИЗМЕНЯЕМАЯ (immutable) коллекция элементов произвольных типов, записываемая в круглых скобках ( ).

Пример создания: point = (10, 25), rgb = (255, 128, 0).

Отличия кортежа от обычного списка (list):

• Неизменяемость: после создания кортежа нельзя добавить, удалить или изменить его элементы (попытка point[0] = 5 вызовет ошибку TypeError);

• Защита от случайного изменения: кортежи гарантируют сохранность константных данных;

• Экономия памяти: кортеж занимает меньше байт в ОЗУ, чем список с тем же числом элементов;

• Высокая скорость: операции с кортежами выполняются быстрее списков;

• Ключи словарей: кортежи могут служить ключами в словарях dict, а списки — нет (так как кортежи хешируемы).

Тип данных

Кортеж (tuple)

Неизменяемый аналог списка в круглых скобках, защищенный от модификаций.
Синтаксис

Кортеж из 1 элемента

Обязательно пишется с запятой на конце: single = (42, ), иначе Python сочтет это числом в скобках.

Множество (set) — это изменяемая НЕУПОРЯДОЧЕННАЯ коллекция УНИКАЛЬНЫХ элементов, записываемая в фигурных скобках { }.

Главные свойства множеств:

1. Уникальность: множество автоматически удаляет любые дубликаты! Если написать s = {1, 2, 2, 3, 3, 3}, множество оставит только {1, 2, 3}. Преобразование list(set(a)) — стандартный способ мгновенно убрать все повторы из списка;

2. Неупорядоченность: элементы не имеют индексов (нельзя написать s[0]);

3. Сверхбыстрый поиск O(1): проверка наличия элемента оператором in в множестве из 1 миллиона чисел происходит мгновенно благодаря механизму хеш-таблиц.

Математические операции над множествами:

• Объединение (A | B или A.union(B)) — все элементы обоих множеств;

• Пересечение (A & B или A.intersection(B)) — только общие элементы;

• Разность (A - B) — элементы, которые есть в A, но отсутствуют в B;

• Симметрическая разность (A ^ B) — элементы, принадлежащие только одному из множеств.

Коллекция

Множество (set)

Хеш-коллекция уникальных элементов без повторяющихся значений.
Операция

Пересечение (&)

Поиск общих совпадающих элементов между двумя наборами данных.

Словарь (dict / ассоциативный массив) — это упорядоченная изменяемая коллекция пар «ключ: значение» (key: value), также записываемая в фигурных скобках { }.

В словарях доступ к данным осуществляется не по числовому номеру-индексу (0, 1, 2), а по уникальному смысловому КЛЮЧУ:

student = {

"name": "Азамат",

"age": 16,

"grade": 10,

"city": "Алматы"

}

print(student["name"]) # Выведет: Азамат

Требования к ключам словаря:

• Ключ обязан быть уникальным (при повторении ключа новое значение перезапишет старое);

• Ключ обязан быть неизменяемым типом данных (число int, строка str, кортеж tuple). Список list быть ключом НЕ может!

Основные методы словарей:

• d.keys() — возвращает все ключи;

• d.values() — возвращает все значения;

• d.items() — возвращает пары (ключ, значение) для удобного обхода в цикле for k, v in d.items():;

• d.get(key, default) — безопасное извлечение значения без ошибки KeyError, если ключ отсутствует.

Коллекция

Словарь (dict)

Ассоциативная структура «ключ-значение» для быстрого хранения именованных данных.
Метод

d.get(k, default)

Безопасное чтение значения по ключу k с возвратом значения по умолчанию при отсутствии.
Раздел 4 из 4

Генераторы (Comprehensions) — элегантный и лаконичный инструмент Python для создания коллекций в одну строчку:

• Генератор списка: squares = [x**2 for x in range(10) if x % 2 == 0]

(список квадратов четных чисел от 0 до 9);

• Генератор словаря: words = ["яблоко", "кот", "информатика"]

lengths = {w: len(w) for w in words} # {'яблоко': 6, 'кот': 3, 'информатика': 11}.

Шаг 1
Подсчет частоты слов
Создать пустой словарь: freq = {}.
Шаг 2
Обход текста
for word in text.split(): freq[word] = freq.get(word, 0) + 1.
Шаг 3
Вывод топа
Вывести слова с максимальным значением частоты повторений.
Ваш прогресс по теме25%
Шпаргалка формул10 класс
Объем растрового графического изображения:
I=X⋅Y⋅iI = X \cdot Y \cdot i[бит (байт)]
Количество цветов в палитре растрового изображения:
Kцветов=2iK_{цветов} = 2^i[цветов]
Объем цифрового несжатого аудиофайла (PCM):
I=ν⋅b⋅t⋅kI = \nu \cdot b \cdot t \cdot k[бит]
Временная сложность бинарного поиска:
T(n)=O(log⁡2n)T(n) = O(\log_2 n)[операций]
Следующая тема

Пользовательские функции в Python: аргументы, return и области видимости

Перейти к теме →