Python setdefault.
Python setdefault() метод словаря, который стоит использовать.
Когда вы считает количество слов в тексте с python – словарь поможет вам в этой задаче. Вы можете установить значение для различных ключей в словаре. Не самый элегантный способ сделать это выглядит следующим образом:
import pprint
text = "It's the first of April. It's still cold in the UK. But I'm going to the museum so it should be a wonderful day"
counts = {}
for word in text.split():
counts.setdefault(word, 0)
counts[word] += 1
pprint.pprint(counts)
"""
{'April.': 1,
'But': 1,
"I'm": 1,
"It's": 2,
'UK.': 1,
'a': 1,
'be': 1,
'cold': 1,
'day': 1,
'first': 1,
'going': 1,
'in': 1,
'it': 1,
'museum': 1,
'of': 1,
'should': 1,
'so': 1,
'still': 1,
'the': 3,
'to': 1,
'wonderful': 1}
"
Проверить, существует ли ключ в словаре
Если да, увеличиваем значение на 1.
Если нет, добавляем его и установим значение 1.
Более лаконичный способ сделать это — использовать метод setdefault() для объекта словаря.
setdefault – позволяет получить значение из словаря по ключу. Автоматически добавляет элемент словаря, если он отсутствует.
key- Первый аргумент, передаваемый методу, — это ключ, который мы хотим получить.
default=None – Второй аргумент, это Значение, которое будет использовано при добавлении нового элемента в словарь.
Вот как выглядит та же задача с setdefault():
counts = {}
for word in text.split():
if word in counts:
counts[word] += 1
else:
counts[word] = 1