从字典中提取值列表

时间:2019-04-11 10:25:06

标签: python

在python词典中,我们有多个列表。需要从字典中获取所有列表,我的代码仅获取最后一个列表。

1)创建了字典 2)创建一个列表变量 3)遍历字典将字典中的值添加到列表中 4)现在我有列表列表。 5)需要将每个列表转换成字典。

bcci_data={1:["SRT", 42], 2:["ZAK", 35], 3:["S.Ganguly", 37],4:["VVS", 38], 5:["RDravid", 37], 6:["Vsewag", 35], 7:["Akumble", 39]}
bcci_val=[]
for val in bcci_data.values():
    bcci_val.append(val)
    print(bcci_val)
print("*****")
print(bcci_val)


actual result is list of lists as below
[['SRT', 42], ['ZAK', 35], ['S.Ganguly', 37], ['VVS', 38], ['RDravid', 37], ['Vsewag', 35], ['Akumble', 39]]

need to convert each list into a dictionary.

4 个答案:

答案 0 :(得分:2)

使用dict和列表理解

例如:

bcci_data={1:["SRT", 42], 2:["ZAK", 35], 3:["S.Ganguly", 37],4:["VVS", 38], 5:["RDravid", 37], 6:["Vsewag", 35], 7:["Akumble", 39]}
bcci_val = [dict([val]) for val in bcci_data.values()]
print(bcci_val)

输出:

[{'SRT': 42},
 {'ZAK': 35},
 {'S.Ganguly': 37},
 {'VVS': 38},
 {'RDravid': 37},
 {'Vsewag': 35},
 {'Akumble': 39}]

答案 1 :(得分:2)

>>> bcci_data={1:["SRT", 42], 2:["ZAK", 35], 3:["S.Ganguly", 37],4:["VVS", 38], 5:["RDravid", 37], 6:["Vsewag", 35], 7:["Akumble", 39]}
>>> bcci_val=[]
>>> for val in bcci_data.values():
...     bcci_val.append(val)
...     print(bcci_val)
...
[['SRT', 42]]
[['SRT', 42], ['ZAK', 35]]
[['SRT', 42], ['ZAK', 35], ['S.Ganguly', 37]]
[['SRT', 42], ['ZAK', 35], ['S.Ganguly', 37], ['VVS', 38]]
[['SRT', 42], ['ZAK', 35], ['S.Ganguly', 37], ['VVS', 38], ['RDravid', 37]]
[['SRT', 42], ['ZAK', 35], ['S.Ganguly', 37], ['VVS', 38], ['RDravid', 37], ['Vsewag', 35]]
[['SRT', 42], ['ZAK', 35], ['S.Ganguly', 37], ['VVS', 38], ['RDravid', 37], ['Vsewag', 35], ['Akumble', 39]]
>>> print("*****")
*****
>>> print(bcci_val)
[['SRT', 42], ['ZAK', 35], ['S.Ganguly', 37], ['VVS', 38], ['RDravid', 37], ['Vsewag', 35], ['Akumble', 39]]
>>>
>>>
>>> d = {}
>>> for element in bcci_val:
...     d[element[0]] = element[1]
...
>>> d  #dictionary with the required values
{'SRT': 42, 'ZAK': 35, 'S.Ganguly': 37, 'VVS': 38, 'RDravid': 37, 'Vsewag': 35, 'Akumble': 39}
>>>

这可能会对您有所帮助。

答案 2 :(得分:2)

您可以列出如下内容。

bcci_val = [dict([value]) for value in bcci_data.values()]

您将得到所需的格言为bcci_val。

答案 3 :(得分:1)

bcci_data={1:["SRT", 42], 2:["ZAK", 35], 3:["S.Ganguly", 37],4:["VVS", 38], 5:["RDravid", 37], 6:["Vsewag", 35], 7:["Akumble", 39]}
dict(bcci_data.values())

输出:

{'SRT': 42,
 'ZAK': 35,
 'S.Ganguly': 37,
 'VVS': 38,
 'RDravid': 37,
 'Vsewag': 35,
 'Akumble': 39}