如何以列表格式获取 spotipy 播放列表结果

How to get spotipy playlist results in list format

我正在使用 spotipy 获取我的播放列表列表。我用

if token:
sp = spotipy.Spotify(auth=token)
playlists = sp.user_playlists(username)
for item in playlists['items']:
    id= item['uri']
    print id

这个 return 播放列表 uri 的列表看起来像

spotify:user:ultramusicofficial:playlist:0gvQoG7iMMz8L5Ltsa4lkT spotify:user:spotify:playlist:4Ha7Qja6HY3AgvNBgWz87p spotify:user:ministryofsounduk:playlist:7grWVkJDQpcBie8oqKP6hv

但是 return 发送它们的方式有些奇怪。这不是一个普通的清单,我似乎无法将其纳入其中。如果我使用

print id[1]

它会return类似于

p

p

p

我希望能够做类似

的事情
print id[1]

并拥有它 return

spotify:user:spotify:playlist:4Ha7Qja6HY3AgvNBgWz87p

我试过以不同的方式连接和拼接它,我试过将它用作元组,将它转换为字符串。没有任何效果我显然非常不确定该怎么做。我觉得这可能很简单,我只是想念它。如有任何帮助,我们将不胜感激。

在你的例子中 id 是一个字符串。所以id[1]是第二个字符,也就是p

您只是打印 id,而不是将它们收集到列表中,因此您的 id 是循环中的最后一项,它是一个 uri(字符串)。您可以使用列表理解从 for 循环中创建一个列表:

id = [item['uri'] for item in playlists['items']]

或者从一个空列表开始并将结果附加到它:

id = []
for item in playlists['items']:
    id.append(item['uri'])