在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.
答案 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}