我是初学者,这是一个基本问题。我需要使用 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}]
我怎样才能实现我在这里想做的事情?感谢您的帮助。
最佳答案
您的问题是,您在迭代字典时实际上并没有使用字典中的不同值。试试这个:
city_populations = []
for city in cities:
city_populations.append(city['Population'])
city_populations
您的第三次尝试实际上即将完成。如果您只是将 index = 0
放在循环之外,它就会起作用。
关于python - 如何使用 for 循环迭代字典列表、选择键并将值附加到新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57148880/