Python - добавление элементов в список при выполнении запросов https внутри цикла

Я делаю запросы SPotify API внутри for loop, вот так:

track_ids = []
#get track_ids
for track in random.sample(pitchfork_tracks, 10):
    results = sp.search(q=track, type='track') #here I call Spotify endpoint
    items = results['tracks']['items']
    for t in items:
        track_ids.append(t['uri'])
return track_ids

Я могу print каждый t хорошо, но если я попытаюсь returntrack_idsконсоль мне ничего не возвращает.

Лог говорит мне:

2016-10-03 23:55:49 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): accounts.spotify.com
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] DEBUG: "POST /api/token HTTP/1.1" 200 None
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): api.spotify.com
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] DEBUG: "GET /v1/search?q=Rushes&limit=10&type=track&offset=0 HTTP/1.1" 200 None
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): api.spotify.com
2016-10-03 23:55:51 [requests.packages.urllib3.connectionpool] DEBUG: "GET /v1/search?q=Opposite+House&limit=10&type=track&offset=0 HTTP/1.1" 200 None
2016-10-03 23:55:51 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): api.spotify.com

похоже, что начало и окончание соединений снова и снова связано с этим... или я что-то упускаю здесь очевидное?

как я могу решить эту проблему и построить свой track_idslist?

1 ответ

Решение

track_ids сфера внутри вашей функции. Для печати списка вы можете сделать это

track_ids = yourfunction()
print track_ids

ИЛИ ЖЕ

ты можешь сделать track_ids перечислите глобальный и объявите это вне вашей функции.

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