python [{"1":2},{"2":"a"},{"3":"b"}] 这种list类型,怎么转换成字典型{"1":2,"2":"a","3":"b"}

如上面描述

直接用dict()转换是不行的。如图:

报错提示是指给了一个参数,但需要两个参数,对dict函数来说,a就是一个参数,那么得想其他办法了

先考虑一个比较简单的问题:‘1’怎么取出来?调试了下,得这样:

那么按照这种格式,就可以使用for循环构造出来。

a=[{'1': 2}, {'2': 'a'}, {'3': 'b'}]
b={}   #先定义一个空字典
for i in range(3):  #迭代三次a,把每个元素迭代一遍
    b[list(a[i].keys())[0]]=list(a[i].values())[0]  #利用上面的构造格式得出这个
print(b)  #打印变量b,得到结果

结果(我是在python的交互式界面下操作的,所以没给print):

并且我试了下代码,python2和python3都可行的。

温馨提示:答案为网友推荐,仅供参考
相似回答