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
+1
0
+1
1
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *