索引列表列表的第一个元素并将其添加到新列表
Indexing the first element of a list of a list and add it to new list
我正在使用 Spotify API 并尝试将播放列表中歌曲艺术家的第一个流派添加到新列表中:
url = 'https://api.spotify.com/v1/artists'
params = {"ids": artist_id_new}
response_artists = requests.get(url, headers = headers , params = params).json()
genre = []
for artist in response_artists['artists']:
genre.append(artist['genres'])
genre
流派列表输出如下所示:
[['deep disco house',
'deep house',
'disco house',
'float house',
'funky house',
'house',
'indie soul',
'minimal tech house'],
['latin', 'latin pop', 'pop venezolano', 'reggaeton', 'trap latino'],
['doomcore'],
['vapor twitch'], ...]
但是流派列表应该只包含第一个流派,而不是所有流派。所以我想简单地索引每个迭代列表项的第一个元素,如下所示:
for artist in response_artists['artists']:
genre.append(artist['genres'][0])
但这总是给我一个 'list index out of range' 错误。
我该如何解决?
提前致谢!
有时 Spotify 没有为特定艺术家标记流派,因此您需要在循环中添加检查:
for artist in response_artists['artists']:
if len(artist['genres'])>0:
genre.append(artist['genres'][0])
else:
genre.append(None)
当没有流派可用时,这将添加一个 None
值。
我正在使用 Spotify API 并尝试将播放列表中歌曲艺术家的第一个流派添加到新列表中:
url = 'https://api.spotify.com/v1/artists'
params = {"ids": artist_id_new}
response_artists = requests.get(url, headers = headers , params = params).json()
genre = []
for artist in response_artists['artists']:
genre.append(artist['genres'])
genre
流派列表输出如下所示:
[['deep disco house',
'deep house',
'disco house',
'float house',
'funky house',
'house',
'indie soul',
'minimal tech house'],
['latin', 'latin pop', 'pop venezolano', 'reggaeton', 'trap latino'],
['doomcore'],
['vapor twitch'], ...]
但是流派列表应该只包含第一个流派,而不是所有流派。所以我想简单地索引每个迭代列表项的第一个元素,如下所示:
for artist in response_artists['artists']:
genre.append(artist['genres'][0])
但这总是给我一个 'list index out of range' 错误。 我该如何解决?
提前致谢!
有时 Spotify 没有为特定艺术家标记流派,因此您需要在循环中添加检查:
for artist in response_artists['artists']:
if len(artist['genres'])>0:
genre.append(artist['genres'][0])
else:
genre.append(None)
当没有流派可用时,这将添加一个 None
值。