我有一个稍后在for
循环中调用的函数。
def show_tracks(results):
for i, item in enumerate(tracks['items']):
track = item['track']
print(" %d %32.32s %s" % (i, track['artists'][0]['name'], track['name']))
第二个片段:
playlists = sp.user_playlists(username) #spotipy method
for playlist in playlists['items']:
if playlist['owner']['id'] == username:
print()
print(playlist['name'])
print(' total tracks', playlist['tracks']['total'])
results = sp.user_playlist(username, playlist['id'], fields="tracks,next")
tracks = results['tracks']
show_tracks(tracks)
while tracks['next']:
tracks = sp.next(tracks)
show_tracks(tracks)
但现在我想传递一个list
用户名,如下所示:
playlists = sp.user_playlists(#list of usernames)
我试图将第二个片段定义为一个函数,但这样做会出现全局变量与局部变量的问题:
NameError: global name 'tracks' is not defined
那么,如何通过每个列表传递usernames
和循环呢?