J'ai créé un dictionnaire nommé "city_metrics" qui contient des en-têtes tels que Ville, Pays, Population, Région. Dans mon dictionnaire, il y a 3 villes, 3 populations et 3 sont.
print city_metrics[0]['Population'] print city_metrics[1]['Population'] print city_metrics[2]['Population'] print city_metrics[3[['Population']
Comment puis-je lister uniquement la population de ce dictionnaire? Existe-t-il une approche différente en plus de taper toutes ces lignes?
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}]
3 Réponses :
Vous pouvez créer une liste de populations en procédant comme suit.
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.']
Vous pouvez également créer une boucle for
dans laquelle vous imprimez le nom de la ville et le population.
for city in city_metrics: print(city['Population'])
Vous pouvez également mettre en forme votre réponse de manière logique, par exemple en imprimant le nom de la ville et la population.
populations = [city['Population'] for city in city_metrics]
Vous parcourez votre liste de cette façon:
for city in cities: print(city, cities[city]['Population'])
Une autre approche serait un dictionnaire de dictionnaires:
print(cities['Montreal']['Population'])
En utilisant ce type de structure, vous pouvez faire des choses comme ceci:
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} }
Ou parcourir des villes comme ceci:
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'])
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"]) this should do it for you. if you need to print keys. just pass dictionary .items
ceci -> docs.python.org/3/tutorial/controlflow. html # for-statements est un excellent point de départ
city_matrics
n'est pas un dictionnaire. C'est une liste de dictionnaires, ce qui est une bête complètement différente.