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 : Sélectionner tout - Visualiser dans une fenêtre à part
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])