繁体   English   中英

将Python字典转换为列表列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM