【发布时间】:2019-09-13 12:18:20
【问题描述】:
我只需要从字典中的“城市”字段中获取唯一值。我需要使用列表/字典理解来做到这一点。
people = [ dict ( city = "Liverpool" , name = "Adam" , age = 24 ),
{ "city" : "New York" , "name" : "Dario" , "age" : 12 },
{ "city" : "New York" , "name" : "Mario" , "age" : 45 },
{ "city" : "Chicago" , "name" : "Paolo" , "age" : 27 },
{ "city" : "Brighton" , "name" : "Sven" , "age" : 19 },
{ "city" : "Berlin" , "name" : "Frank" , "age" : 52 },
{ "city" : "Rome" , "name" : "Aleksander" , "age" : 33 }
{ "city" : "Rome" , "name" : "Adam," , "age" : 24 }]
我是这样用循环完成的:
unique_cities = []
for x in range(len(people)):
y = people[x]
cities = y.get('city')
unique_cities.append(cities)
unique_cities = list(dict.fromkeys(unique_cities))
print(unique_cities)
但我之前没有处理过列表/字典理解。我只能像这样打印所有值:
for x in range(len(people)):
y = people[x]
dict_comp = {k:v for (k, v) in y.items()}
print(dict_comp)
【问题讨论】:
-
print( list(set(i["city"] for i in people)) )
标签: python python-3.x dictionary list-comprehension dictionary-comprehension