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

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

如何從嵌套字典中提取元素

如何從嵌套字典中提取元素

天涯盡頭無女友 2023-05-09 15:04:59
我需要獲取企業名稱的價值并將其附加到列表中。2.我需要獲取價值策略并在檢查父項后附加到列表中。3.如果父級是營銷名稱,則必須添加到 level1。4.如果父級是廣告名稱,則必須添加到 level2。5.如果某個地方 Business 是 [] 我需要傳遞 None 而不是 Null List還需要檢查密鑰是否存在,對于某些密鑰,有可能會丟失策略、業務示例詞典如下searchtest = [{'_index': 'newtest',  '_type': '_doc',  '_id': '100',  '_score': 1.0,  '_source': {'id': '100',   'name': 'A',   'Business': [{'id': '7', 'name': 'Enterprise'},    {'id': '8', 'name': 'Customer'}],   'policies': [{'id': '332',     'name': 'Second division',     'parent': 'Marketing'},    {'id': '3323', 'name': 'First division', 'parent': 'Marketing'}]}}, {'_index': 'newtest',  '_type': '_doc',  '_id': '101',  '_score': 1.0,  '_source': {'id': '101',   'name': 'B',   'Business': [{'id': '7'},    {'id': '8', 'name': 'Customer'}],   'policies': [{'id': '332',     'name': 'Second division',     'parent': 'Marketing'},    {'id': '3323', 'name': 'First division', 'parent': 'Marketing'}]}}]預計出來[  {    "id": "100",    "name": "A",    "Business": ["Enterprise", "Customer"],    "level1": ['Second division', 'First division'],    "level2": [ ]  },  {    "id": "101",    "name": "B",    "Business": ["Enterprise", "Customer"],    "level1": ['Second division', 'First division'],    "level2": [ ]  }]
查看完整描述

1 回答

?
慕哥9229398

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

你不是從字典中收集數據,你必須選擇特定的鍵來獲取它的值。


替換這個:


for el in lst:

        d = {

            'id': el['_source']['id'],

            'name': el['_source']['name'],

            'Business': [],

            'level1': [],

            'level2': []

        }

有了這個:


for el in data:

        d = {

            'id'       : el['_source']['id'],

            'name'     : el['_source']['name'],

            'Business' : [name['name'] for name in el['_source']['Business']],

            'level1'    : [name['name'] for name in el['_source']['policies']],

            'level2'   : []

        }

輸出:


[   {   'Business': ['Enterprise', 'Customer'],

        'id': '100',

        'level1': ['Second division', 'First division'],

        'level2': [],

        'name': 'A'},

    {   'Business': ['Enterprise', 'Customer'],

        'id': '101',

        'level1': ['Second division', 'First division'],

        'level2': [],

        'name': 'B'}]


查看完整回答
反對 回復 2023-05-09
  • 1 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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