В ходе работы с НЛП мне пришлось создать словарь, где каждому слову было присвоено значение 0. Это позволило мне подсчитать, сколько раз каждое слово встречается в тексте. Я использовал цикл, чтобы проходить по тексту и увеличивать счётчик для каждого слова, которое встречалось.
Инициализация словаря Python значением 0 означает установку значения каждого ключа в словаре равным 0. Проще говоря, предположим, что у вас есть словарь, содержащий такие оценки по предметам, как {‘Math’:70,’English’:80}. После инициализации значением 0 оно должно быть таким: {‘Math’:0′,English:’0′}.
- С использованием метода присваивания
- С использованием цикла for
- С использованием словарного понимания
- Используя dict.fromkeys()
- С использованием Defaultdict из коллекций
С использованием метода присваивания
Вы можете инициализировать словарь нулём при его создании. Например, взгляните на код ниже, где ключам словаря присвоено значение 0.
#Initialize each key of dictionary country_poupulation to 0 directly country_population = {'USA':0, 'Austrailia':0, 'Canada':0} print(country_population)
Посмотрите на результат. Каждый ключ словаря Country_population инициализируется значением 0. Это простой метод.
С использованием цикла for
Чтобы инициализировать словарь Python нулём, можно использовать цикл for для перебора словаря. В этом цикле мы будем обращаться к ключам словаря и присваивать им значение 0, одно за другим.
Например, предположим, у нас есть словарь Product_price, который выглядит так:
product_price = {'Heater':1200, 'AC':40000, 'Fan':1000}
Чтобы инициализировать словарь Product_price значением 0, вы можете использовать цикл for, как показано ниже.
for key in product_price: product_price[key]=0
Проверьте значение словаря, используя код ниже.
print(product_price)
Когда вы выполняете приведенный выше код, он инициализирует каждый ключ значением 0 словаря Product_price как {‘Heater’: 0, ‘AC’: 0, ‘Fan’: 0}.
В этом коде «for key in Product_price» переменная key представляет индекс словаря. Выражение product_price[key] = 0 означает, что каждому ключу словаря присваивается значение 0.
И, наконец, для вывода всех значений словаря используется функция print (product_price).
С использованием словарного понимания
Чтобы понять, как работает словарь, нужно использовать цикл for с использованием словаря. Это означает, что вы будете использовать цикл for с фигурными скобками {} для инициализации словаря со значением 0.
Давайте рассмотрим тот же словарь Product_price, который мы использовали в предыдущем разделе. Выполните следующий код:
product_price = {'Heater':1200, 'AC':40000, 'Fan':1000} dict_with_0 = {key: 0 for key in product_price} print(dict_with_0)
В приведённом выше понимании словаря, где ключ равен 0 для ключа в Product_price, в результате получается словарь, в котором все значения инициализированы нулём. Например, {‘Heater’: 0, ‘AC’: 0, ‘Fan’: 0}.
Давайте разберёмся с частью кода, где используется цикл for. В этом цикле ключ представляет каждый ключ из словаря Product_price. Затем каждое значение ключа инициализируется нулём с использованием конструкции ключ:0.
Используя dict.fromkeys()
Метод dict.fromkeys() – это встроенный метод в Python, который позволяет создавать новый словарь с ключами, взятыми из заданной последовательности, и значениями, установленными в указанное значение.
Например, вы можете использовать этот метод для инициализации словаря с нулевыми значениями.
Представим, что в городе Чикаго, штат Иллинойс, проходят выборы мэра. В начале дня выборов необходимо обнулить количество голосов каждого кандидата. Список кандидатов известен заранее. Давайте создадим словарь, который будет содержать информацию о количестве голосов, и инициализируем его нулевыми значениями.
candidates = ['Jonas', 'James', 'Chris', 'Jhony'] votes = dict.fromkeys(candidates, 0) print(votes)
Обратите внимание, как функция dict.fromkeys() инициализирует каждый ключ в словаре значением 0. В итоге мы получаем словарь, где {‘Jonas’: 0, ‘James’: 0, ‘Chris’: 0, ‘Jhony’: 0}. Давайте рассмотрим часть кода dict.fromkeys(candidates, 0).
В этом фрагменте кода функция dict.fromkeys() принимает список кандидатов в словари и значение 0. Затем она создаёт новый словарь, который содержит все ключи из списка кандидатов, но каждому ключу присваивается значение 0.
С использованием Defaultdict из коллекций
Defaultdict — это подкласс встроенного класса dict. Он переопределяет один метод для предоставления значения по умолчанию для несуществующего ключа. Это ещё один способ инициализации словаря в Python.
Например, представим, что спортивный факультет Университета Флориды хочет вести учёт спортивного инвентаря, используемого разными командами. Учитывая разнообразие видов спорта — от бейсбола до плавания, им нужна гибкая система, которая позволит использовать любой вид спорта и соответствующее оборудование, даже если это спорт, который они раньше не отслеживали.
Для ведения учёта можно использовать словарь Equipment_inventory, начальное значение которого должно быть равно нулю, как показано в коде ниже.
from collections import defaultdict equipment_inventory = defaultdict(int) equipment_inventory['lacrosse sticks'], equipment_inventory['footballs'] equipment_inventory['quidditch brooms'] print(equipment_inventory)
Каждый ключ словаря Equipment_inventory инициализируется значением 0.
Мы не создавали словарь с ключами и значениями, и в этом заключается секрет. Давайте разберёмся, как этот секрет раскрывается в коде.
Строка Equipment_inventory = defaultdict(int) предназначена для автоматической инициализации отсутствующих ключей значением по умолчанию 0 при попытке к ним обратиться.
Defaultdict принимает аргумент default_factory — функцию, которая устанавливает значения по умолчанию для ключей словаря. В данном случае в defaultdict передаётся аргумент int.
Это означает, что если вы обратитесь к ключам, которых нет в словаре, то он автоматически создаст новый ключ и инициализирует его нулём.
Итак, в приведенном выше коде доступ к ключам осуществляется с помощью Equipment_inventory[‘клюшки для лакросса’], Equipment_inventory[‘футболы’] и Equipment_inventory[‘метлы для квиддича’]. Поскольку этих ключей не существует, код автоматически создает и инициализирует их значением 0.
Таким образом, вы получаете словарь со значением 0, например defaultdict(, {‘клюшки для лакросса’: 0, ‘футбольные мячи’: 0, ‘метлы для квиддича’: 0}).