Что метод setdefault () делает в этой программе? - PullRequest
0 голосов
/ 30 мая 2019

Я посмотрел программу, которая перебирает каждый символ в строке переменной сообщения, подсчитывая частоту появления каждого символа.

Я не понимаю, что они делают:

count.setdefault(character, 0)
count[character] = count[character] + 1

введите описание изображения здесь

Ответы [ 3 ]

0 голосов
/ 30 мая 2019

Метод setdefault() аналогичен get(), но установит dict[key]=default, если ключ еще не введен в dict.

dict.setdefault(key, default=None)

key - это ключ для поиска.

default - это значение, которое будет возвращено, если ключ не найден.

В вашем примере

count.setdefault(character,0)

равно:

if not character in count:
    count[character] = 0
0 голосов
/ 30 мая 2019

Строка count.setdefault(character,0) добавляет новый элемент в словарь count с ключом = символ и значением = 0, если ключ не существует

Строка count[character] = count[character] + 1 увеличивает значение до 1, где ключ = символ.

В результате у вас есть каждый персонаж с каждым вхождением

0 голосов
/ 30 мая 2019

Метод setdefault в словарях устанавливает значение, если для данного ключа значение не установлено. В этом случае метод устанавливает счетчик символов равным 0, если счетчик ранее не задавался.

...