Как получить результаты списка воспроизведения в формате списка

Я использую 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: плейлист:7grWVkJDQpc6h8

Но есть что-то странное в том, как он их возвращает. Это не нормальный список, и я не могу сделать его одним. Если я использую

print id[1]

Это вернуло бы что-то вроде

p

p

p

Я хочу быть в состоянии сделать что-то вроде

print id[1]

и вернуть его

Spotify: Пользователь: Spotify: плейлист: 4Ha7Qja6HY3AgvNBgWz87p

Я попытался соединить его и объединить его различными способами, я попытался использовать его как кортеж, преобразовав его в строку. Ничего не работает, я явно очень не уверен, что делать. Я чувствую, что это, вероятно, просто, и я просто скучаю по нему. Любая помощь будет оценена спасибо.

2 ответа

Решение

Вы просто печатаете идентификатор, а не собираете их в список, поэтому ваш идентификатор является последним элементом цикла, который является единственным uri (строка). Вы можете использовать понимание списка, чтобы сделать список из цикла for:

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

Или начните с пустого списка и добавьте к нему результат:

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

В вашем примере id это строка Так ID [1] является вторым символом, который p

Другие вопросы по тегам