Geo*_*ows 1 python dictionary key
我只是想知道在Python的精彩世界中是否有任何方法可以从这样的事情:
dict1 = {'a': [1,2,3], 'b': [4,5,6]}
Run Code Online (Sandbox Code Playgroud)
至
dict2 = {'a':1, 'a':2, 'a':3,'b':4, 'b': 5, 'b': 6]
Run Code Online (Sandbox Code Playgroud)
或等价,顺序是无关紧要的,但我需要一些方法将dict1分解为一些东西,我可以将数值分配给新列表的索引,键作为这些索引的实际值,例如dict1将变为:
[0, a, a, a, b, b, b]
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,虽然越白痴证明答案越好.
我再次感激你了.
你dict2没有意义,因为字典键必须是唯一的.
我敢肯定,你可以通过遍历得到你想要的东西dict1.items(),但我需要的预期输出列表看起来像一些更多的澄清......在你的榜样a和b是不确定的,我不知道是什么0在一开始是代表.
也许你想要这样的东西?
dict2 = {}
for k,v in dict1.items():
for x in v:
dict2[x] = k
Run Code Online (Sandbox Code Playgroud)
这会给你一个dict2喜欢{1: 'a', 2: 'a', 3: 'a', 4: 'b', 5: 'b', 6: 'b'}.请注意dict1,此循环可能会覆盖解压缩值中的重复条目.
只是为了屎和咯咯笑,在一行中同样的事情作为一个难以理解的字典理解:
{x: k for (k,v) in dict1.items() for x in v}