Этот вопрос проверяет знание основных встроенных структур данных Python и понимание их практического применения.
Чаще всего используются списки (list), словари (dict), кортежи (tuple) и множества (set). Списки хранят упорядоченные коллекции элементов. Словари хранят данные в виде пар "ключ-значение" для быстрого доступа. Кортежи похожи на списки, но их нельзя изменить после создания. Множества хранят уникальные неупорядоченные элементы и полезны для операций объединения или пересечения.
Python предоставляет несколько мощных встроенных структур данных, каждая из которых оптимизирована для определенных задач.
Основные структуры данных и их применение:
Список (List):
Определение: Упорядоченная, изменяемая (mutable) коллекция элементов.
Использование: Для хранения последовательностей данных, когда порядок важен и элементы могут добавляться, удаляться или изменяться.
Пример:
fruits = ['apple', 'banana', 'orange']
fruits.append('grape') # Добавление элементаСловарь (Dictionary):
Определение: Неупорядоченная (начиная с Python 3.7 — упорядоченная по порядку добавления) коллекция пар "ключ-значение". Ключи должны быть уникальными и неизменяемыми.
Использование: Для быстрого поиска значения по ключу (как телефонная книга). Идеально подходит для хранения связанной информации, например, характеристик объекта.
Пример:
person = {'name': 'Alice', 'age': 30, 'city': 'London'}
print(person['name']) # Быстрый доступ по ключуКортеж (Tuple):
Определение: Упорядоченная, неизменяемая (immutable) коллекция элементов.
Использование: Для хранения данных, которые не должны изменяться (например, константы, координаты точки). Занимает меньше памяти, чем список. Может использоваться как ключ в словаре.
Пример
point = (10, 20)
# point[0] = 5 # Вызовет ошибку, так как кортеж неизменяемМножество (Set):
Определение: Неупорядоченная коллекция уникальных элементов.
Использование: Для проверки принадлежности элемента (очень быстро), удаления дубликатов из списка и выполнения математических операций над множествами (объединение, пересечение).
Пример:
unique_numbers = {1, 2, 2, 3, 4} # Станет {1, 2, 3, 4}
print(2 in unique_numbers) # Проверка принадлежности: TrueВывод: Выбор структуры данных зависит от задачи: список для упорядоченных изменяемых коллекций, словарь для поиска по ключу, кортеж для неизменяемых данных, множество для работы с уникальностью.