Анализируя набор данных, основанный на файлах журналов, я хотел подсчитать количество вхождений различных элементов в разное время. Например, мне нужно было узнать, сколько раз в журнале продаж упоминались определённые продукты.

Чтобы упростить процесс подсчёта, я создал словарь, где каждому ключу соответствует значение по умолчанию — 0. Это позволило мне быстро и точно определить количество упоминаний каждого продукта.

Для инициализации словаря я использовал цикл for. В этом уроке я подробно описал, как работает этот метод. Кроме того, я рассказал о двух альтернативных подходах, которые вы можете выбрать.

Содержание

Со значением по умолчанию

Словарь — это структура данных, которая хранит коллекцию значений в определённом формате. Обычно это формат «ключ: значение». Ключ — это элемент, который стоит перед двоеточием, а значение — элемент после двоеточия.

Например, вы можете представить реальную информацию в виде словаря. Допустим, у вас есть продукт с именем и ценой. Тогда вы можете использовать название продукта в качестве ключа, а его цену — в качестве значения. Например, {laptop:20000}. Каждый элемент словаря называется парой «ключ-значение».

Сейчас словарь содержит один элемент, но вы можете добавить несколько пар «ключ-значение». В этом случае он будет содержать несколько пар «ключ-значение».

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

Как вы собираетесь добавить пару «ключ-значение», если у вас есть пустой словарь? Этот процесс называется инициализацией словаря значениями по умолчанию.

Инициализация словаря — это создание и вставка исходного значения ключа. Существует несколько методов инициализации словаря значениями по умолчанию, о которых я расскажу позже.

Используя {}

Чтобы создать словарь с помощью фигурных скобок, при его создании нужно указать пару «ключ-значение», как показано в коде ниже.

products ={"Laptop": "Electronics","Jeans": "Clothing", "Smartphone": "Electronics", "Sweater": "Clothing"}

print(products)

Python создает Dict со значением по умолчанию, используя {}.JPG

Посмотрите на рисунок выше. На нём изображён новый словарь «продукты». Он создаётся и инициализируется значениями по умолчанию. В нём есть два элемента: название продукта и его тип. Например, имя продукта — «Ноутбук», а его тип — «Электронный».

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

С использованием функции dict()

В Python есть метод dict(), который позволяет создавать новый словарь. Он принимает пару «ключ-значение», которую вы указываете в фигурных скобках {}. Если не указать какое-либо ключевое значение, метод создаст пустой словарь.

Когда вы предоставляете значение, словарь создаётся и инициализируется на основе этой пары «ключ-значение».

Например, вы можете создать словарь для хранения информации о пользователе и задать ему значения по умолчанию. Посмотрите и запустите код ниже.

user = dict(username='jenny', age=30, email='[email protected]')

print(user)

С использованием функции dict()

Посмотрите на рисунок выше. Вы предоставили пользователю информацию в виде пары «ключ-значение», которую метод dict() может использовать для создания нового словаря.

Метод dict() инициализирует словарь переданными значениями. В результате получается словарь со значениями: {‘username’: ‘jenny’, ‘age’: 30, ’email’: ‘[email protected]’}.

Чтобы создать и инициализировать словарь с помощью метода dict(), нужно передать ему пары ключ-значение.

С использованием цикла For

Вы даже можете инициализировать словарь с помощью цикла for, используя значение по умолчанию. Суть в том, что цикл будет перебирать другой список, брать из него значения и инициализировать пустой словарь.

Например, предположим, у вас есть список американских городов и ещё один список, где указаны соответствующие штаты, в которых находится каждый город. Вы хотите создать словарь в Python, где каждый город (ключ) будет указывать на свой штат (значение).

города = [‘Чикаго’, ‘Лос-Анджелес’, ‘Хьюстон’, ‘Финикс’, ‘Филадельфия’]

штаты = [‘Иллинойс’, ‘Калифорния’, ‘Техас’, ‘Аризона’, ‘Пенсильвания’]

city_with_state = {}

для меня в диапазоне(len(города)):

city_with_state[cities[i]] = штаты[i]

печать(city_with_state)

Python init Dict со значением по умолчанию с использованием цикла For

Посмотрите на результат: цикл инициализирует словарь city_with_state, используя список, в котором города и штаты представлены в виде пар ключ-значение.

Давайте разберёмся, как это работает. У нас есть два списка: один содержит названия городов, а другой — названия штатов. Города выступают в роли ключей, а штаты — в роли значений словаря.

Создаём пустой словарь с помощью кода city_with_state = {} (фигурные скобки означают создание пустого словаря). Затем, используя цикл «for i in range(len(cities))», проходим по списку городов.

В цикле «i» представляет индекс элемента списка. Используя этот индекс, мы берём первое значение из списка городов с помощью city[i] и передаём его в пустой словарь как city_with_stat[cities[i]]. Таким образом, мы создаём ключ для словаря.

Затем мы связываем значение с этим ключом, присваивая ему значение из списка штатов с помощью «=states[i]». Таким образом, на каждой итерации мы создаём новую пару ключ-значение в словаре.

На каждой итерации цикл берёт следующее значение из списка городов и следующее значение из списка штатов, создавая новую пару ключ-значение для словаря. В итоге, после завершения цикла, в словаре city_with_state будут храниться все пары ключ-значение из списка городов и штатов.

В результате создается и инициализируется новый словарь со значениями по умолчанию, например {‘Чикаго’: ‘Иллинойс’, ‘Лос-Анджелес’: ‘Калифорния’, ‘Хьюстон’: ‘Техас’, ‘Финикс’: ‘Аризона’, ‘Филадельфия’. ‘: ‘Пенсильвания’}.

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

  • Избегание ошибок ключей. Предварительно инициализируя словарь с определенными ключами, мы можем предотвратить потенциальные исключения KeyError в Python при попытке доступа к ключам, которые могут отсутствовать при динамическом добавлении.
  • Целостность данных. Инициализация словарей Python с помощью ключей и значений может служить документацией. Разработчик или пользователь, просматривая словарь, может мгновенно понять его предполагаемую структуру и тип данных, которые он должен хранить.
  • Значения по умолчанию: когда мы инициализируем словарь Python с ключами и значениями, мы часто устанавливаем для этих ключей значения по умолчанию. Это может быть полезно в сценариях, где нам необходимо убедиться, что каждый ключ имеет некоторое начальное значение, которое затем можно обновить или изменить на основе последующих операций.
Добавить комментарий