第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

Python 有效地從字典列表中獲取特定值

Python 有效地從字典列表中獲取特定值

泛舟湖上清波郎朗 2021-09-11 18:36:23
我正在使用 API 從以 JSON 格式返回的數(shù)據(jù)庫中獲取結(jié)果。然后我試圖只提取某些鍵/值并將它們附加到一個空白列表中。我想要的字段是 eissn 并且 API 返回這樣的結(jié)果:[{'type': 'doi', 'id': '10.16472/j.chinatobacco.2017.045'}, {'type': 'pissn', 'id': '1004-5708'}, {'type': 'eissn', 'id': '1004-5708'}]我想提取我嘗試使用此代碼的 eissn id:deissnlist = []for i in range(0,lengthD):    deissnlist.append(doajresult[i]['bibjson']['identifier'][3]     ['id'])其中 lengthD/i 是從 API 返回的結(jié)果數(shù)。問題是 eissn ID 并不總是列表中的第三個字典。有什么方法可以搜索元組并且只獲取eissn ID而不使用另一個for循環(huán)(因此從O(n)到O(n^2)?預(yù)期的輸出只是eissn id的單個值(在本例中為 1004-5708)我嘗試將列表轉(zhuǎn)換為字典,但這不起作用,因為它將每個元組視為自己的字典。謝謝!
查看完整描述

1 回答

?
繁花如伊

TA貢獻2012條經(jīng)驗 獲得超12個贊

我可能誤解了問題并過于簡化;但是,如果您只想從該示例輸入中提取 id 列表,我會這樣做:


input = [

    {'type': 'doi', 'id': '10.16472/j.chinatobacco.2017.045'},

    {'type': 'pissn', 'id': '1004-5708'},

    {'type': 'eissn', 'id': '1004-5708'}

]


result = [x.get('id') for x in input]


print(result)


['10.16472/j.chinatobacco.2017.045', '1004-5708', '1004-5708']

或者僅針對類型為 eissn 的 id:


result = [x.get('id') for x in input if x.get('type') == 'eissn']


查看完整回答
反對 回復(fù) 2021-09-11
  • 1 回答
  • 0 關(guān)注
  • 287 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號