Проблема приходит, когда использовать значение по умолчанию для словаря - PullRequest
0 голосов
/ 22 декабря 2018

при использовании значения по умолчанию для словаря полный цикл показывает пустой список, когда его просят повторить для всех ключевых элементов

from collections import defaultdict
dict = {'whiz':1,'beerus':2,'vegeta':3,'goku':4}
dict = defaultdict(lambda : 'picalo')
print ([key for key in dict])

[] процесс завершен с кодом выхода 0

этот код запускается в pycharm

1 Ответ

0 голосов
/ 22 декабря 2018

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

Это потому, что в словаре нет ничего, он просто имеет значение по умолчанию!


Насколько я могу судить, ошибка, которую вы делаете, заключается в том, что вы заменяете свой словарь, а не задаете ему значение по умолчанию.

Я думаю, что вы 'Вы ищете что-то вроде этого:

from collections import defaultdict
my_dict = {'whiz': 1,'beerus': 2,'vegeta': 3,'goku': 4}
my_dict = defaultdict(lambda: 'picalo', **my_dict)
print(my_dict)

Обратите внимание, как я назвал переменную my_dict вместо dict, потому что dict является «встроенным» типом словаря и обычно не долженне может быть перезаписано (чтобы избежать ошибок в будущем).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...