Python: Кортежи и словари с нуля (Урок 6)

Урок посвящен контейнерам данных Python: кортежам и словарям. Рассмотрим их синтаксис, особенности использования и отличия от списков.

Кортежи

Кортеж – упорядоченная коллекция объектов, подобная списку. Главное отличие – неизменяемость. После создания элементы кортежа нельзя изменить, добавить или удалить.

Для создания используются круглые скобки (). Пустой кортеж: my_tuple = (). Кортеж с элементами: my_tuple = (25, 25.1, "first"). Запятая после последнего элемента обязательна, если кортеж содержит только один элемент. Без запятой Python интерпретирует выражение как строку или число, а не как кортеж.

my_tuple = ("first",)  # Кортеж с одним элементом
print(type(my_tuple)) # <class 'tuple'>
my_tuple_incorrect = ("first") # Строка
print(type(my_tuple_incorrect)) # <class 'str'>

Неизменяемость важна в больших программах, гарантируя неизменность данных. Для изменений нужно создать новый кортеж.

Преобразование кортежей и списков

Кортежи преобразуются в списки функцией list(), списки в кортежи – функцией tuple().

my_tuple = (1, 2, 3)
my_list = list(my_tuple)  # Преобразование кортежа в список
print(my_list) # [1, 2, 3]

my_list = [4, 5, 6]
my_tuple = tuple(my_list)  # Преобразование списка в кортеж
print(my_tuple) # (4, 5, 6)

Словари

Словарь – неупорядоченная коллекция пар «ключ-значение». В отличие от списков и кортежей, доступ к элементам осуществляется по ключу, а не по порядковому номеру. Ключ может быть любого неизменяемого типа (строка, число, кортеж), значение – любого типа.

Словари создаются с помощью фигурных скобок {}. Пары «ключ-значение» разделяются двоеточием : и запятыми ,.

my_dict = {"яблоко": "красное", "банан": "желтый", "лимон": "желтый"}
print(my_dict) # {'яблоко': 'красное', 'банан': 'желтый', 'лимон': 'желтый'}

Методы работы со словарями

  • keys(): возвращает список ключей.
  • values(): возвращает список значений.
  • items(): возвращает список пар «ключ-значение».
print(my_dict.keys()) # dict_keys(['яблоко', 'банан', 'лимон'])
print(my_dict.values()) # dict_values(['красное', 'желтый', 'желтый'])
print(my_dict.items()) # dict_items([('яблоко', 'красное'), ('банан', 'желтый'), ('лимон', 'желтый')])

Доступ к значению по ключу: my_dict["банан"] («желтый»). Изменение значения: my_dict["банан"] = "зеленый". Удаление пары «ключ-значение»: del my_dict["банан"].

print(my_dict["яблоко"]) # красное
my_dict["банан"] = "зеленый"
print(my_dict) # {'яблоко': 'красное', 'банан': 'зеленый', 'лимон': 'желтый'}
del my_dict["лимон"]
print(my_dict) # {'яблоко': 'красное', 'банан': 'зеленый'}

Урок познакомил с кортежами и словарями – важными структурами данных в Python. Кортежи обеспечивают неизменяемость данных, а словари позволяют эффективно хранить и получать доступ к информации по ключам. Знание этих структур данных необходимо для решения многих задач программирования.

Что будем искать? Например,программа