[DEB] Extraire d'une liste
Bonjour à tous,
Voici un exemple du livre "Data science from scratch" que j'ai simplifié
on construit (si j'ai bien compris) une liste de dico.On se sert de tupples pour créer une relation entre les différents membres des dico.
Ceci est créé par une liste friends incorporée dans chaque dico
Mon problème est dans les dernières lignes du prg.
Je voudrais avoir comme résultat
les amis de Dun sont
Hero
Chi
Je n'arrive pas à extraire seulement le nom , à chaque fois je récupère la list friends en entier
(J'ai essayé plusieurs trucs mais rien ne marche)
Merci de m'avoir consacré de votre temps
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
def number_of_friends(user):
global a
"""how many friends does_user_have?"""
return len(user["friends"])
##########################################################################
users=[{"id":0,"name":"Hero"},
{"id": 1,"name":"Dunn"},
{"id":2,"name":"Chi"}
]
friendships=[(0,1),(1,2)]
#creation d'une liste d'amis à partir de users
for user in users:
user["friends"]=[]
#les amis sont créés à partir de fiendships
for i,j in friendships:
print("i j ",i,j)#on lit les tuples
users[i]["friends"].append(users[j])#add i as a friend of j
users[j]["friends"].append(users[i])#add j as a friend of i
#######Comment afficher seulement le "name" des amis"
for user in users:
b=number_of_friends(user)
print("les amis de ",user["name"],"sont")
for x in range(b):
print( user["friends"][x]) |