C'est une notation incluse dans une liste que les gens qui la voient pour la première fois ne comprennent pas, mais une fois que vous commencez à l'utiliser, vous ne pouvez pas l'abandonner, mais si vous êtes loin de Python pendant un certain temps, vous pouvez l'oublier, alors j'ai noté comment l'utiliser.
Tout d'abord, récupérez simplement votre nom dans la liste des profils.
profiles = [
{"name": "Tanaka", "age": 17},
{"name": "Suzuki", "age": 18},
{"name": "Sato", "age": 19},
]
names = [p["name"] for p in profiles]
print(names)
Le résultat ressemble à ceci.
['Tanaka', 'Suzuki', 'Sato']
J'essaierai de mettre une caution en fonction de l'âge. Seuls les noms de plus de 18 ans seront supprimés.
profiles = [
{"name": "Tanaka", "age": 17},
{"name": "Suzuki", "age": 18},
{"name": "Sato", "age": 19},
]
names = [p["name"] for p in profiles if p["age"] >= 18]
print(names)
Tanaka est exclue car elle a moins de 18 ans.
['Suzuki', 'Sato']
Convertissons la liste en dictionnaire.
profiles = [
{"name": "Tanaka", "age": 17},
{"name": "Suzuki", "age": 18},
{"name": "Sato", "age": 19},
]
names = {p["name"]: p["age"] for p in profiles}
print(names)
Ce serait étrange si le nom était couvert, mais dans cet exemple, ça va.
{'Tanaka': 17, 'Sato': 18, 'Suzuki': 18}
C'est un peu la force brute, mais je vais faire une liste de noms par âge.
profiles = [
{"name": "Tanaka", "age": 17},
{"name": "Suzuki", "age": 18},
{"name": "Sato", "age": 18},
]
names = {
p2["age"]: [
p1["name"] for p1 in profiles if p1["age"] == p2["age"]
]
for p2 in profiles}
print(names)
C'est comme ça.
{17: ['Tanaka'], 18: ['Suzuki', 'Sato']}