Ваш dict2
не имеет смысла, потому что ключи словаря должны быть уникальными.
Я почти уверен, что вы можете получить то, что вы хотите, итерируя по dict1.items()
, но мне нужно еще кое-что прояснить, как выглядит ожидаемый список вывода ... в вашем примере a
и b
не определены и Я не знаю, что представляет собой 0
в начале.
Возможно, вы хотели что-то подобное?
dict2 = {}
for k,v in dict1.items():
for x in v:
dict2[x] = k
Это даст вам dict2
как {1: 'a', 2: 'a', 3: 'a', 4: 'b', 5: 'b', 6: 'b'}
. Имейте в виду, что дублирующиеся записи в распакованных значениях dict1
могут быть перезаписаны этим циклом.
Только для дерьма и хихиканья, то же самое в 1 строке, что и непонятное понимание диктата :
{x: k for (k,v) in dict1.items() for x in v}