2017-11-18 3 views
1

Ich habe den unten stehenden Code, um die Künstler Tags (Genres) von letzten fm api zu bekommen. Jeder Künstler kann wie viele Tags haben:Alle Tags in Künstler speichern [i] ['Tags']

{'artist': {'tags': {'tag': [{'name': 'alternative', 
    'url': 'https://www.last.fm/tag/alternative'}, {'name': 'indie', 
    'url': 'https://www.last.fm/tag/indie'}, {'name': 'electronic', 
    'url': 'https://www.last.fm/tag/electronic'}]}, 

Ich möchte in der artists[i]['tags'] alle Tags eines Künstlers speichern. Das Problem ist, dass ich gerade den letzten Tag mit diesem Code erhalten:

for artist in artist_data['artist']['tags']["tag"]: 
    tags = artist["name"] 
    artists[i]['tags'] = tags 
print(artists[i]) 

mehr zugehörigen Code:

artists = {} 

for i,v in artists.items(): 
    chosen = artists[i]['name'].replace(" ", "+") 
    artist_response = requests.get('http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&format=json&artist='+chosen+'&api_key='+api_key) 
    artist_data = artist_response.json() 

    for artist in artist_data['artist']['tags']["tag"]: 
     tags = artist["name"] 
     artists[i]['tags'] = tags 
    print(artists[i]) 

Wissen Sie, wie in den artists[i]['tags'] alle Tags speichern?

Antwort

1

Sie ersetzen artists[i]['tags'] durch neue tags in jeder Schleife.
Sie können es wie folgt angehängt werden soll:

artists[i]['tags'].append(tags)

Sie artists[i]['tags'] = [] vor Schleife erstellen müssen.