【发布时间】:2016-06-12 21:18:54
【问题描述】:
我很确定一定有一种比我使用的更 Pythonic 的方式来做到这一点。
所以一个列表字典的字典 ---> 元组列表字典
说:
ff = {'one': {'aaa': [1, 2, 3], 'bbb': [3, 4, 5]}, 'two': {'ccc': [3, 2, 1]}}
到
test = {'one': [('aaa', 1, 2, 3), ('bbb', 3, 4, 5)], 'two': [('ccc', 3, 2, 1)]}
这是我找到的解决方案:
test = { k:[tuple(itertools.chain(itertools.repeat(ksub,1),(elements for elements in vsub))) for ksub,vsub in v.items()] for k,v in ff.items() }
有没有更清晰的方法来做到这一点?
【问题讨论】:
-
我不认为 'to' 与元组有任何关系
-
是的,谢谢你的贡献。
-
您当前版本的问题在输入和输出上没有差异。
-
我改回来了。谢谢
-
@minitoto:当然可以;嵌套字典包含组合成元组的键(字符串)和值(列表)(包含键和值列表的内容)。
标签: python python-2.7 tuples dictionary-comprehension