我用Spotipy从一个艺术家那里得到所有的专辑。你知道吗
我为每个查询提供以下Python dictionary对象(每个查询一个):
{
"href": "https://api.spotify.com/v1/artists/006ibfxHXj6ewIkihKcaS2/albums?offset=0&limit=1&include_groups=album",
"items": [
{
"album_group": "album",
"album_type": "album",
"artists": [
{
"external_urls": {
"spotify": "https://open.spotify.com/artist/006ibfxHXj6ewIkihKcaS2"
},
"href": "https://api.spotify.com/v1/artists/006ibfxHXj6ewIkihKcaS2",
"id": "006ibfxHXj6ewIkihKcaS2",
"name": "Hello Meteor",
"type": "artist",
"uri": "spotify:artist:006ibfxHXj6ewIkihKcaS2"
}
],
"available_markets": [
"blabla"
],
"external_urls": {
"spotify": "https://open.spotify.com/album/19HZblBbWVWYVqiM0B9eW8"
},
"href": "https://api.spotify.com/v1/albums/19HZblBbWVWYVqiM0B9eW8",
"id": "19HZblBbWVWYVqiM0B9eW8",
"images": [
{
"height": 640,
"url": "https://i.scdn.co/image/8c249db0add94460c7e61e994e7ac3f8f1abddd9",
"width": 640
},
{
"height": 300,
"url": "https://i.scdn.co/image/03ff6bd7c00fd58b167a4f3bc5529e5d17bf7ee1",
"width": 300
},
{
"height": 64,
"url": "https://i.scdn.co/image/151539b29846c6ae9b68c628e639d66277349468",
"width": 64
}
],
"name": "Mu & Mea",
"release_date": "2018-07-17",
"release_date_precision": "day",
"total_tracks": 15,
"type": "album",
"uri": "spotify:album:19HZblBbWVWYVqiM0B9eW8"
}
],
"limit": 1,
"next": "https://api.spotify.com/v1/artists/006ibfxHXj6ewIkihKcaS2/albums?offset=1&limit=1&include_groups=album",
"offset": 0,
"previous": null,
"total": 6
}
我有以下代码行将所有项对象添加到列表中:
albums.extend(sp.artist_albums(artist, album_type='album', limit=1)['items'] for artist in artists)
问题是我只需要两个返回的无休止的键;我只需要专辑标题和发行日期。我想要的输出是一个列表:
[['album name 1', 'release_date1'], ['album name2'', release_date2'], ...]
与其添加
['items']
列表(如果我正确理解了您的limit=1
查询,它只包含一个专辑),不如添加一个具有特定值的新字典。你知道吗为了避免为这两个项调用Spotify API两次,请将查询循环放入generator expression;这样可以更容易地获取生成的相册字典并获取特定键:
这里,
results
是一个延迟评估的{'album_group': ..., 'album_type', ..., ...}
字典序列;这些是'items'
列表中每个被查询艺术家的所有专辑。这里每个艺术家只有一张专辑,但如果有机会,可能会有0张专辑,或者你想提高limit
的值,我会确保循环这些项目。你知道吗然后,
albums.extend()
中的生成器表达式创建一个新的列表对象,其中每个结果有两个键。你知道吗相关问题 更多 >
编程相关推荐