2016-12-28 11 views
3

我正在使用點數來獲取播放列表的列表。我用如何以列表格式獲得點數播放列表結果

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

這將返回看起來像

Spotify的播放列表的URI的列表:用戶:ultramusicofficial:播放列表:0gvQoG7iMMz8L5Ltsa4lkT Spotify的:用戶:Spotify的:播放列表:4Ha7Qja6HY3AgvNBgWz87p Spotify的:用戶:ministryofsounduk :播放列表:7grWVkJDQpcBie8oqKP6hv

但是,它返回它們的方式有些不可思議。這不是一個正常的列表,我似乎無法將其整合到一個列表中。如果我使用

print id[1] 

這將返回類似

p 

p 

p 

我希望能夠像做

print id[1] 

,並使其返回

Spotify的:用戶:spotify:播放列表:4Ha7Qja6HY3AgvNBgWz87p

我試過加入它並以不同的方式拼接它,我嘗試過使用它作爲元組,將它轉換爲字符串。沒有任何工作我顯然很不確定該怎麼做。我覺得這可能很簡單,我只是想念它。任何幫助,將不勝感激。

回答

2

您只是打印了id,沒有將它們收集到列表中,所以您的id是循環中的最後一項,它是單個的uri(字符串) 。您可以使用列表中理解到做一個清單出來的for循環:

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

或用空列表啓動,並將結果追加到它:

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

太謝謝你了。這是一個簡單的答案,我認爲我用我之前嘗試過的其他方法複雜化了它,卻無法得到它。當我嘗試理解時,我搞砸了,並做了與我的代碼中的一樣。我很高興終於有這個工作表示感謝。 – Bane89

2

在你的例子中id是一個字符串。因此,id [1]是第二個字符,它是p

相關問題