2016-08-09 3 views
2
def lowEnergy(): 

    tids = [] 
    # get songs by recommendation 
    results = sp.recommendations(seed_artists = [artist['id']]) 

    #retrieve uris for songs 
    for track in results['tracks']: 
     tids.append(track['uri']) 

    #get audio_features 
    features = sp.audio_features(tids) 

    #pick energies 
    energy = [x['energy'] for x in features] 

    #here I filter out low energy values 
    low_energy = [x for x in energy if x < 0.5] 

    #get track names 
    track_names = [sp.track(uri)['name'] for uri in tids] 

Nun möchte Ich mag zu ausfiltern Titelnamen von Energiewerten unter 0,5, etwa so:Spotipy - Titelnamen und Energiewerte

track name1 - 0.49 track name2 - 0.34

und so weiter.

aber ich kämpfe hier ... wie erreiche ich das? danke

+0

Konnten Sie Fehler oder Datenausgaben wenn überhaupt bekannt geben. – JClarke

+0

@Jclarke gibt es keine Fehler. Alle Listen drucken die richtigen Daten aus. das Problem ist, eine Liste zu erreichen, um alle anderen wie gewünscht zu verbinden –

Antwort

0

Nicht getestet, aber hoffe es funktioniert.

for i, e in enumerate(energy): 
    if e < 0.5: 
     track_name = sp.track(tids[i])['name'] 
     print("{} - {}".format(track_name, e)) 
+0

Dank, Sie rocken –