[英]Converting Python Dictionary to List of lists
我有一个命令:
d={10:[2,"str1",4] , 20:[5,"str2",7] , 30:[8,"str3",10]}
我需要从这个字典中列出一个清单:
lst=[[10,2,"str1",4] , [20,5,"str2",7] ,[30,8,"str3",10]]
如果我使用lst
= map(list,d.items())`,则密钥与值不在同一列表中:
lst=[[10,[2,"str1",4]] , [20,[5,"str2",7]] ,[30,[8,"str3",10]]
我也尝试了这段代码:
for k,v in d.items():
for i in v:
lst=[]
lst.append([k,i])
我不知道为什么,但我只有这个:
lst=[[10,2]]
lst=[]
lst.append([k,i])
是相同的
lst=[k,i]
在循环中不是很有用。
为了避免这些初始化错误,请像这样“拼合”字典(为该键创建一个人工列表,以便能够将其添加到列表理解的值中):
d={10:[2,"str1",4] , 20:[5,"str2",7] , 30:[8,"str3",10]}
print([[k]+v for k,v in d.items()])
请注意,列表中的顺序是不能保证的,因为不能保证字典中的顺序(除非您使用的是字典保持顺序的版本,例如CPython 3.6)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.