Ich gehe durch das neue Buch "Data Science from Scratch: Erste Prinzipien mit Python" und ich denke, ich habe eine Errata gefunden .TypeError: 'int' Objekt hat kein Attribut '__getitem__' Fehler wegen möglichen Erratum in Buch
Wenn ich den Code, den ich "TypeError: 'int' object has no attribute '__getitem__'".
bekommen betreibe ich denke, das ist, weil, wenn ich friend["friends"]
wählen versuchen, friend
eine ganze Zahl ist, die ich nicht Subset kann. Ist das korrekt? Wie kann ich die Übungen so fortsetzen, dass ich die gewünschte Ausgabe bekomme? Es sollte eine Liste von Freunden von Freunden (Foaf) sein. Ich weiß, dass es Probleme Wiederholung aber die sind später festgelegt ...
users = [
{"id": 0, "name": "Ashley"},
{"id": 1, "name": "Ben"},
{"id": 2, "name": "Conrad"},
{"id": 3, "name": "Doug"},
{"id": 4, "name": "Evin"},
{"id": 5, "name": "Florian"},
{"id": 6, "name": "Gerald"}
]
#create list of tuples where each tuple represents a friendships between ids
friendships = [(0,1), (0,2), (0,5), (1,2), (1,5), (2,3), (2,5), (3,4), (4,5), (4,6)]
#add friends key to each user
for user in users:
user["friends"] = []
#go through friendships and add each one to the friends key in users
for i, j in friendships:
users[i]["friends"].append(j)
users[j]["friends"].append(i)
def friends_of_friend_ids_bad(user):
#foaf is friend of friend
return [foaf["id"]
for friend in user["friends"]
for foaf in friend["friends"]]
print friends_of_friend_ids_bad(users[0])
Vollzurückverfolgungs:
Traceback (most recent call last):
File "/Users/marlon/Desktop/test.py", line 57, in <module>
print friends_of_friend_ids_bad(users[0])
File "/Users/marlon/Desktop/test.py", line 55, in friends_of_friend_ids_bad
for foaf in friend["friends"]]
TypeError: 'int' object has no attribute '__getitem__'
[Finished in 0.6s with exit code 1]
[shell_cmd: python -u "/Users/marlon/Desktop/test.py"]
[dir: /Users/marlon/Desktop]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
Wie ich denke, dass es behoben werden kann: Ich glaube, Sie Benutzer als zweites Argument brauchen, und dann do "für foaf Benutzer [Freund] [" Freunde "]" statt "für foaf in Freund [" Freunde "]
Post voll traceback hast du – Alik
@Alik Ich habe es – megashigger
hinzugefügt was ist 'Freundschaften' dort? – itzMEonTV