В Python мне нужен объект словаря, который выглядит так:
{'a': 10, 'b': 20, 'c': 10, 'd': 10, 'e': 20}
Мне удалось добиться этого, объединив функции dict.update()
и dict.fromkeys()
следующим образом:
myDict = {}
myDict.update(dict.fromkeys(['a', 'b', 'c'], 10))
myDict.update(dict.fromkeys(['b', 'e'], 20))
Однако, поскольку код написан для начинающих пользователей, которым иногда нужно добавлять ключи/значения, я бы предпочел простой синтаксис с голубыми костями (Perl-like), например:
myDict = {}
myDict['a', 'c', 'd'] = 10
myDict['b', 'e'] = 20
Это, однако, дает мне:
myDict = {('a', 'c', 'd'): 10, ('b', 'e'): 20}
Можно ли упростить мой первый пример (используя dict.update()
и dict.fromkeys()
) дальше и получить объект dict, который я ищу?
Или, наоборот, если у меня есть dict с кортежами, как в моем втором примере, есть ли простой способ для меня выполнить поиск, например myDict['c']
или myDict.get('c')
, и получить значение 10?