为了账号安全,请及时绑定邮箱和手机立即绑定

python如何将dict转成list

python如何将dict转成list

德玛西亚99 2019-05-25 13:49:19
我有很多个dict,例如{A:A1,B:B2,C:C3,D:D4},{A:AA1,C:CC3,D:DD4,E:EE5},{A:AAA1,B:BBB2,C:CCC3,D:DDD4,E:EEE5}。我想得到一个类似行列转置后的LIST,效果如下:[A,B,C,D,E],[A1,B2,C3,D4,NULL],[AA1,NULL,CC3,DD4,EE5],[AAA1,BBB2,CCC3,DDD4,EEE5]]简单说明:list是一个合集,如果确实Key的value用null补充key作为一个list,value也是list,key和value的顺序要一致
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

python3pandas
>>>importpandasaspd
>>>data=[
{'A':'A1','B':'B2','C':'C3','D':'D4'},
{'A':'AA1','C':'CC3','D':'DD4','E':'EE5'},
{'A':'AAA1','B':'BBB2','C':'CCC3','D':'DDD4','E':'EEE5'}
]
>>>df=pd.DataFrame(data).fillna('null')
>>>ls=df.values.tolist()
>>>ls.insert(0,df.columns.tolist())
>>>ls
[['A','B','C','D','E'],['A1','B2','C3','D4','null'],['AA1','null','CC3','DD4','EE5'],['AAA1','BBB2','CCC3','DDD4','EEE5']]
>>>
                            
查看完整回答
反对 回复 2019-05-25
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

这是针对一个dict
key=list(dict.keys())
value=list(dict.values())
如果有多个dict,比如dict1:{A:A1,B:B2,C:C3,D:D4}dict2:{A:AA1,C:CC3,D:DD4,E:EE5}dict3:{A:AAA1,B:BBB2,C:CCC3,D:DDD4,E:EEE5}
那么:
dict1={'A':'A1','B':'B2','C':'C3','D':'D4'}
dict2={'A':'AA1','C':'CC3','D':'DD4','E':'EE5'}
dict3={'A':'AAA1','B':'BBB2','C':'CCC3','D':'DDD4','E':'EEE5'}
key1=list(dict1.keys())
key2=list(dict2.keys())
key3=list(dict3.keys())
keys=list(set(key1).union(set(key2),set(key3)))#key取并集
result=[keys]
fordictin[dict1,dict2,dict3]:
value=[]
forkeyinkeys:
item=dict[key]ifkeyindictelse'NULL'
value.append(item)
result.append(value)
print"result--{}---".format(result)
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 1856 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号