亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何遍歷嵌套的字典列表?

如何遍歷嵌套的字典列表?

哆啦的時光機 2023-03-30 10:32:42
我需要得到這個 json 響應的“ids”,問題是,有很多字典里面有一個字典列表,我該怎么做??(PS:len(items)是 20,所以我需要以字典的形式獲取 20 個 id。{'playlists': {'href': 'https://api.spotify.com/v1/search?query=rewind-The%25&type=playlist&offset=0&limit=20',  'items': [{'collaborative': False,    'description': 'Remember what you listened to in 2010? Rewind and rediscover your favorites.',    'external_urls': {'spotify': 'https://open.spotify.com/playlist/37i9dQZF1DXc6IFF23C9jj'},    'href': 'https://api.spotify.com/v1/playlists/37i9dQZF1DXc6IFF23C9jj',    'id': '37i9dQZF1DXc6IFF23C9jj',    'images': [{'height': None,      'url': 'https://i.scdn.co/image/ab67706f0000000327ba1078080355421d1a49e2',      'width': None}],    'name': 'Rewind - The Sound of 2010',    'owner': {'display_name': 'Spotify',     'external_urls': {'spotify': 'https://open.spotify.com/user/spotify'},     'href': 'https://api.spotify.com/v1/users/spotify',     'id': 'spotify',     'type': 'user',     'uri': 'spotify:user:spotify'},    'primary_color': None,    'public': None,    'snapshot_id': 'MTU5NTUzMTE1OSwwMDAwMDAwMGQ0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0Mjdl',    'tracks': {'href': 'https://api.spotify.com/v1/playlists/37i9dQZF1DXc6IFF23C9jj/tracks',     'total': 100},    'type': 'playlist',    'uri': 'spotify:playlist:37i9dQZF1DXc6IFF23C9jj'},我試圖通過這個來解決它:dict={'id':''}for playlists in playlist_data['playlists']:    for items in playlists['items']:        for item in items:            for dic in range(len(item)):                for id in dic['id']:                    dict.update('id')                    print(dict)我收到此錯誤:TypeError: string indices must be integers ```
查看完整描述

2 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

嘗試這樣的事情:

ids = [item["id"] for item in json_data["playlists"]["items"]]

這稱為列表理解。

您想要遍歷鍵"items"內的所有內容"playlists"。

您可以訪問該項目列表:

json_data["playlists"]["items"]

然后迭代項目中的每個項目:

for item in json_data["playlists"]["items"]

然后你訪問"id"每個項目的:

item["id"]



查看完整回答
反對 回復 2023-03-30
?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

您可以使用對象的鍵索引對象。我可以看到對象中有兩個地方存在 id。要檢索這兩個 ID 并將它們存儲在字典格式中,您可以使用以下方法 -


_json = {

  'playlists': {

    'href': 'https://api.spotify.com/v1/search?query=rewind-The%25&type=playlist&offset=0&limit=20',

    'items': [{

      'collaborative': False,

      'description': 'Remember what you listened to in 2010? Rewind and rediscover your favorites.',

      'external_urls': {

        'spotify': 'https://open.spotify.com/playlist/37i9dQZF1DXc6IFF23C9jj'

      },

      'href': 'https://api.spotify.com/v1/playlists/37i9dQZF1DXc6IFF23C9jj',

      'id': '37i9dQZF1DXc6IFF23C9jj',

      'images': [{

        'height': None,

        'url': 'https://i.scdn.co/image/ab67706f0000000327ba1078080355421d1a49e2',

        'width': None

      }],

      'name': 'Rewind - The Sound of 2010',

      'owner': {

        'display_name': 'Spotify',

        'external_urls': {

          'spotify': 'https://open.spotify.com/user/spotify'

        },

        'href': 'https://api.spotify.com/v1/users/spotify',

        'id': 'spotify',

        'type': 'user',

        'uri': 'spotify:user:spotify'

      },

      'primary_color': None,

      'public': None,

      'snapshot_id': 'MTU5NTUzMTE1OSwwMDAwMDAwMGQ0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0Mjdl',

      'tracks': {

        'href': 'https://api.spotify.com/v1/playlists/37i9dQZF1DXc6IFF23C9jj/tracks',

        'total': 100

      },

      'type': 'playlist',

      'uri': 'spotify:playlist:37i9dQZF1DXc6IFF23C9jj'

    }, ]

  }

}


res_dict = {'id':[items['id'], items['owner']['id']] for items in _json['playlists']['items']}

print(res_dict)

輸出 :


{'id': ['37i9dQZF1DXc6IFF23C9jj', 'spotify']}

如果您不需要 json 對象中存在的第二個 id,您可以將其從 res_dict 上方刪除并將其修改為 -


res_dict = {'id':items['id'] for items in _json['playlists']['items']}

這只會獲取items數組中存在的 id 作為任何元素的鍵,而不是任何進一步嵌套的 id(比如 items[i]->owner->id 不會像第一個案例那樣出現在最終資源中)。


查看完整回答
反對 回復 2023-03-30
  • 2 回答
  • 0 關注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號