3

我正在使用 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

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

4

2 回答 2

2

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

于 2016-12-28T17:29:39.237 回答
2

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

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

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

id = []
for item in playlists['items']:
    id.append(item['uri'])
于 2016-12-28T17:29:59.523 回答