我正在使用 spotipy 获取我的播放列表列表。我用
if token:
sp = spotipy.Spotify(auth=token)
playlists = sp.user_playlists(username)
for item in playlists['items']:
id= item['uri']
print id
这将返回一个播放列表 uri 列表,如下所示
spotify:user:ultramusicofficial:playlist:0gvQoG7iMMz8L5Ltsa4lkT spotify:user:spotify:playlist:4Ha7Qja6HY3AgvNBgWz87p spotify:user:ministryofsounduk:playlist:7grWVkJDQpcBie8oqKP6hv
但是它返回它们的方式有些奇怪。这不是一个普通的 list ,我似乎无法将其纳入其中。如果我使用
print id[1]
它会返回类似的东西
p
p
p
我希望能够做类似的事情
print id[1]
让它返回
spotify:user:spotify:playlist:4Ha7Qja6HY3AgvNBgWz87p
我试过以不同的方式连接和拼接它,我试过将它用作元组,将它转换为字符串。没有任何效果我显然非常不确定该怎么做。我觉得这可能很简单,我只是想念它。任何帮助将不胜感激。
最佳答案
您只是打印 id,而不是将它们收集到列表中,因此您的 id 是循环中的最后一项,它是一个 uri
(字符串)。您可以使用列表推导式从 for 循环中创建一个列表:
id = [item['uri'] for item in playlists['items']]
或者从一个空列表开始并将结果附加到它:
id = []
for item in playlists['items']:
id.append(item['uri'])
关于python - 如何以列表格式获取 spotipy 播放列表结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41366905/