You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中从嵌套列表提取特定值:获取国家与d_id(缺失补0)

解决方案:提取国家与对应d_id值
country_list = [['Russia',[{'id': 250282,'d_id': 19553,'p_id': 1796,'value': 'silver'},
                {'id': 250212,'d_id': 19553,'p_id': 1896,'value': 'gold'},
                {'id': 250242,'d_id': 19553,'p_id': 1396,'value': 'iron'},
                {'id': 250082,'d_id': 19553,'p_id': 1496,'value': 'cobalt'}]],
      ['China',[{'id': 210282,'d_id': 193,'p_id': 1196,'value': 'silver'},
                {'id': 220212,'d_id': 193,'p_id': 1396,'value': 'iron'},
                {'id': 240242,'d_id': 193,'p_id': 1586,'value': 'iron'},
                {'id': 250082,'d_id': 193,'p_id': 1492,'value': 'gold'}]],
      ['Africa',[]],
      ['USA',[{'id': 200282,'d_id': 5531,'p_id': 1093,'value': 'iron'},
                {'id': 253212,'d_id': 5531,'p_id': 1843,'value': 'gold'},
                {'id': 255242,'d_id': 5531,'p_id': 1323,'value': 'iron'},
                {'id': 257082,'d_id': 5531,'p_id': 1409,'value': 'cobalt'}]],
      ['UK',[]]]

需求说明

提取每个国家名称及对应的唯一d_id值(同一国家的d_id均相同);若国家对应的字典列表为空,则d_id补0,期望输出格式如下:

'Russia', 19553
'China',  193
'Africa', 0  
'USA',    5531
'UK',     0

实现代码

for country, data_list in country_list:
    # 检查数据列表是否非空
    d_id = data_list[0]['d_id'] if data_list else 0
    # 格式化输出对齐
    print(f"'{country}', {d_id:4d}")

代码说明

  1. 遍历嵌套列表,直接解构出国家名country和对应字典列表data_list。
  2. 用三元表达式简化判断:若data_list非空,取第一个字典的d_id(因同一国家d_id唯一);否则赋值为0。
  3. 通过f-string的{d_id:4d}格式,让数字占4位宽度,实现和期望输出一致的对齐效果。

内容的提问来源于stack exchange,提问作者shaik khadar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 16:55:17