【发布时间】:2018-02-05 16:38:07
【问题描述】:
从列表创建字典时,字典的键会忽略列表中的相同项,并将最后一项存储为键。
例如:
lst1 = [["Apple",20.00,"Swiss"],
["Banana",5.00,"Brazil"],
["Strawberry",25.00,"Swiss"],
["Pear",12.00,"Greece"],
["Mango",3.00,"Peru"],
["Avacado",7.00,"Peru"]]
my_dict = {val[2]:val[:2] for val in lst1}
print (my_dict)
打印这个
{'Swiss': ['Strawberry', 25.0], 'Brazil': ['Banana', 5.0], 'Greece': ['Pear', 12.0], 'Peru': ['Avacado', 7.0]}
据我了解,这样做是因为键不能相同,那么为什么不将相同键的值分组到一个列表中。像这样
{
'Swiss': [["Apple",20.00],['Strawberry', 25.0]],
'Brazil': ['Banana', 5.0],
'Greece': ['Pear', 12.0],
'Peru': [["Mango",3.00],['Avacado', 7.0]]
}
有什么方法可以在纯 Python 中做到这一点?
【问题讨论】:
标签: python python-3.x list dictionary