我有一个嵌套的list
字典:
d = {'a': [[('a1', 1, 1), ('a2', 1, 2)]], 'b': [[('b1', 2, 1), ('b2', 2, 2)]]}
print (d)
{'b': [[('b1', 2, 1), ('b2', 2, 2)]], 'a': [[('a1', 1, 1), ('a2', 1, 2)]]}
我需要创建像这样的元组列表
:
<p>
[('b', 'b1', 2, 1), ('b', 'b2', 2, 2), ('a', 'a1', 1, 1), ('a', 'a2', 1, 2)]
我尝试了:
a = [[(k, *y) for y in v[0]] for k,v in d.items()]
a = [item for sublist in a for item in sublist]
我觉得我的解决方案有点过于复杂。是否有更好的、更具Python风格的、甚至只需要一行代码的解决方案呢?
(k, *t)
比(k,) + t
更加简洁。 - Martijn Pieters[(k,) + t ..
。但我明白了。 - Ma0(k,) + t
代替(k, *t)
。 - Martijn Pieters