如何在字典中查找具有相同名称的重复标题的特定值?

问题描述 投票:1回答:3

我创建了一个名为“city_metrics”的字典,其中包含城市,国家,人口,区域等标题。在我的字典中,有3个城市,3个人口和3个。

city_metrics =
[{'City': 'Santiago',
  'Country': 'Dominican Republic',
  'Population': 900000,
  'Area': 4758},
 {'City': 'Montreal',
  'Country': 'Canada',
  'Population': 345000,
  'Area': 2731571},
 {'City': 'Seoul',
  'Country': 'South Korea',
  'Population': 234540,
  'Area': 3454},
 {'City': 'Marakesh', 
 'Country': 'Morocco', 
 'Population': 928850,
 'Area': 200}]

如何仅列出此词典中的人口?除了键入所有这些行之外还有不同的方法吗?

print city_metrics[0]['Population']

print city_metrics[1]['Population']

print city_metrics[2]['Population']

print city_metrics[3[['Population']
python jupyter-notebook
3个回答
1
投票
city_metrics = [
    {'City': 'Santiago', 'Country': 'Dominican Republic', 'Population': 900000, 'Area': 4758},
    {'City': 'Montreal', 'Country': 'Canada', 'Population': 345000, 'Area': 2731571},
    {'City': 'Seoul', 'Country': 'South Korea', 'Population': 234540, 'Area': 3454},
    {'City': 'Marakesh', 'Country': 'Morocco', 'Population': 928850, 'Area': 200}
]

for i in city_metrics:
    print(i['City'],i["Population"])

这应该为你做。如果你需要打印钥匙。只需传递字典.items


1
投票

你以这种方式迭代你的列表:

metrics = [
    {'City': 'Santiago', 'Country': 'Dominican Republic', 'Population': 900000, 'Area': 4758}, 
    {'City': 'Montreal', 'Country': 'Canada', 'Population': 345000, 'Area': 2731571},
    {'City': 'Seoul', 'Country': 'South Korea', 'Population': 234540, 'Area': 3454},
    {'City': 'Marakesh', 'Country': 'Morocco', 'Population': 928850, 'Area': 200}
]

for metric in metrics:
    print(metric['City'], metric['Population'])

另一种方法是字典词典:

cities = {
    'Santiago': {'Country': 'Dominican Republic', 'Population': 900000, 'Area': 4758}, 
    'Montreal': {'Country': 'Canada', 'Population': 345000, 'Area': 2731571},
    'Seoul': {'Country': 'South Korea', 'Population': 234540, 'Area': 3454},
    'Marakesh': {'Country': 'Morocco', 'Population': 928850, 'Area': 200}
}

使用这种结构,你可以做这样的事情:

print(cities['Montreal']['Population'])

或者像这样迭代城市:

for city in cities:
    print(city, cities[city]['Population'])

1
投票

您可以通过执行以下操作来创建人口列表。

populations = [city['Population'] for city in city_metrics]

或者,您可以使用for loop打印城市名称和人口。

for city in city_metrics:
    print(city['Population'])

您可能还希望以一种有意义的方式格式化答案,例如打印城市名称和人口。

cities_and_pops = [f"The population of {city['City']} is {city['Population']}." for city in city_metrics]
cities_and_pops
>>>['The population of Santiago is 900000.',
 'The population of Montreal is 345000.',
 'The population of Seoul is 234540.',
 'The population of Marakesh is 928850.']
© www.soinside.com 2019 - 2024. All rights reserved.