将dictonay转换为python中的列表,Dictonary在单个键中具有多个值

时间:2017-12-06 10:56:33

标签: python dictionary

我想获得密钥的值。但问题是关键有多个价值观。我想要普通数组/列表中的所有值: 这是我的代码:

dict={"Data": ["john", "vincin","tenzin"]}
dictlist=[]
for key, value in dict.items():
    temp = [value]
    dictlist.append(temp)
print(dictlist[0])

输出:

[['john', 'vincin', 'tenzin']]
[Finished in 0.1s]

这样的预期结果(正常列表):

dictlist[0]="john"
dictlist[1]="vincin"
dictlist[2]="tenzin"

4 个答案:

答案 0 :(得分:3)

只需遍历列表中的项目,然后将它们单独附加到dictlist

dict={"Data": ["john", "vincin","tenzin"]}
dictlist=[]
for key, value in dict.items():
    for item in value:
        dictlist.append(item)
print(dictlist)

答案 1 :(得分:2)

使用extend()来扩展列表,而不是append(),它会将另一个列表附加为如下所示的项目:

dictlist.extend(temp)

更新代码:

dict={"Data": ["john", "vincin","tenzin"]}
dictlist=[]
for key, value in dict.items():
    temp = [value]
    dictlist.extend(temp)

print(dictlist[0])

输出:

['john', 'vincin', 'tenzin']

答案 2 :(得分:1)

这可能是你想要的:

dict={"Data": ["john", "vincin","tenzin"]}
dictlist=[]
for key, value in dict.items():
    dictlist.extend(value)
print(dictlist[0])

注意1:不要将关键字dict用作变量名称

注2:这更简洁:dictlist = sum(dict.values(),[])

答案 3 :(得分:0)

您也可以从dict中获取值,因为它已经是一个列表:

dict={"Data": ["john", "vincin","tenzin"]}
dictlist = dict['Data']

print(dictlist)

给出:

  ['john', 'vincin', 'tenzin']