首页 > 解决方案 > 如何使用 for 循环遍历字典列表、选择键并将值附加到新列表

问题描述

我是初学者,这是一个基本问题。我需要使用 for 循环来遍历字典列表,并且对于每个字典中的某个键,将值附加到新列表中。原始列表是一个城市列表,列表中的每个字典代表一个城市并包含有关该城市的信息。我需要循环来挑选每个城市字典中的“人口”键,并将该值附加到一个名为 city_populations 的新列表中。

我只设法将其中一本词典中的人口追加到列表中。难以让它遍历字典列表并附加每个城市的每个人口。以下是我尝试过的三件事:

尝试1:

city_populations = []
for city in cities:
    city_populations.append(cities[0]['Population'])
city_populations

尝试2:

city_populations = []
for city in cities:
    city_populations.append(cities[index]['Population'])
city_populations

尝试 3:

city_populations = []
for city in cities:
    index = 0
    city_populations.append(cities[index]['Population'])
    index =+ 1
city_populations

以下是城市列表:

[{'City': 'Buenos Aires',
  'Country': 'Argentina',
  'Population': 2891000,
  'Area': 4758},
 {'City': 'Toronto', 'Country': 'Canada', 'Population': 2800000, 'Area': 2731},
 {'City': 'Pyeongchang',
  'Country': 'South Korea',
  'Population': 2581000,
  'Area': 3194},
 {'City': 'Marakesh', 'Country': 'Morocco', 'Population': 928850, 'Area': 200},
 {'City': 'Albuquerque',
  'Country': 'New Mexico',
  'Population': 559277,
  'Area': 491},
 {'City': 'Los Cabos',
  'Country': 'Mexico',
  'Population': 287651,
  'Area': 3750},
 {'City': 'Greenville', 'Country': 'USA', 'Population': 84554, 'Area': 68},
 {'City': 'Archipelago Sea',
  'Country': 'Finland',
  'Population': 60000,
  'Area': 8300},
 {'City': 'Walla Walla Valley',
  'Country': 'USA',
  'Population': 32237,
  'Area': 33},
 {'City': 'Salina Island', 'Country': 'Italy', 'Population': 4000, 'Area': 27},
 {'City': 'Solta', 'Country': 'Croatia', 'Population': 1700, 'Area': 59},
 {'City': 'Iguazu Falls',
  'Country': 'Argentina',
  'Population': 0,
  'Area': 672}]

我怎么能在这里实现我想要做的事情?谢谢你的帮助。

标签: pythondictionary

解决方案


您的问题是您在遍历字典时实际上并没有使用字典中的不同值。尝试这个:

city_populations = []
for city in cities:
    city_populations.append(city['Population'])
city_populations

您的第三次尝试实际上几乎就在那里。如果您只是放在index = 0循环之外,它会起作用。


推荐阅读