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

时间:2016-12-28 17:26:32

标签: python spotipy

我正在使用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的:用户:ultramusicofficial:播放列表:0gvQoG7iMMz8L5Ltsa4lkT   Spotify的:用户:Spotify的:播放列表:4Ha7Qja6HY3AgvNBgWz87p   Spotify的:用户:ministryofsounduk:播放列表:7grWVkJDQpcBie8oqKP6hv

但是它回归的方式有些奇怪。这不是一个正常的清单,我似乎无法将其合二为一。如果我使用

print id[1]

会返回类似

的内容
p

p

p

我希望能够做一些像

这样的事情
print id[1]

并让它返回

  

Spotify的:用户:Spotify的:播放列表:4Ha7Qja6HY3AgvNBgWz87p

我尝试加入它并以不同的方式拼接它,我尝试将它用作元组,将其转换为字符串。什么都行不通我显然很不确定该做什么。我觉得这可能很简单,我只是想念它。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

在您的示例中,id是一个字符串。所以id [1]是第二个字符,即p

答案 1 :(得分:2)

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

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

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

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