作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个元组列表,我想将其转换为字典列表,其中对于每个元组,字典键是元组中的索引,值是该索引中的元组条目。
例如,如果 tuple_list=[('a','b','c'), ('e','f','g')]
那么目标是processed_tuple_list = [{0:'a',1:'b',2:'c'},{0:'e',1:'f',2:'g'}]
我目前的解决方案是有一个函数
def tuple2dict(tup):
x = {}
for j in range(len(tup)):
x[j]=tup[j]
return x
然后调用[tuple2dict(x) for x in tuple_list]
。我怀疑有一种列表理解的方法可以做到这一点,我最初尝试这样做
[{j:x[j]} for x in tuple_list for j in range(len(x))]
但这只是给了我一个 [{0:'a'},{1:'b'},...]
的列表。非常感谢任何关于更 pythonic 方法的建议。
最佳答案
您可以为 list
中的每个元组创建 dict
,如下所示:
>>> tuple_list=[('a','b','c'), ('e','f','g')]
# Expanded solution for more explanation
>>> [{idx: val for idx, val in enumerate(tpl)} for tpl in tuple_list]
[{0: 'a', 1: 'b', 2: 'c'}, {0: 'e', 1: 'f', 2: 'g'}]
感谢@ddejohn 最短的方法:
>>> [dict(enumerate(t)) for t in tuple_list]
关于python - 更Pythonic的方式来做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69866302/
我是一名优秀的程序员,十分优秀!