2024-04-27 04:19:40 发布
网友
假设字典中的键是元组:
D = { ('a','b') : 1, ('x','y','z') : 2 }
如何将每个元组键拆分为具有相同值的单独键:
在一本字典里理解。我已经起草了下面的一行,但是我想知道是否可以缩短它而不创建一个与密钥元组长度相同的代理值列表。在
N = { k:v for s in ( zip(keys,[value]*len(keys)) for keys,value in D.items() ) for k,v in s }
您要查找的嵌套理解如下所示:
>>> D = { ...: ('a','b') : 1, ...: ('x','y','z') : 2 ...:} >>> >>> {k_i:v for k, v in D.items() for k_i in k} >>> {'a': 1, 'b': 1, 'x': 2, 'y': 2, 'z': 2}
{cd1>可以这样写:
奖励:itertools虐待!在
itertools
>>> from itertools import repeat, chain >>> dict(chain.from_iterable(zip(k, repeat(v)) for k, v in D.items())) >>> {'a': 1, 'b': 1, 'x': 2, 'y': 2, 'z': 2}
您可以使用这样的听写理解:
{k: v for t, v in D.items() for k in t}
您要查找的嵌套理解如下所示:
{cd1>可以这样写:
^{pr2}$奖励:
itertools
虐待!在您可以使用这样的听写理解:
相关问题 更多 >
编程相关推荐