关于嵌套列表取值的问题,如何解决?

[{"id":35435,"category_id":483,"type":0,"title":"广东省高速公路网规划(2020—2035年)的具体目标是通往粤北有( )条高速公路通道。","answer":"D","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"4","question_id":35435,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"5","question_id":35435,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"6","question_id":35435,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"8","question_id":35435,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["D"],"exercise_id":"332245","question_number":1},{"id":35436,"category_id":483,"type":0,"title":"广东省高速公路网规划(2020—2035年)规划布局的以主骨架为( )。","answer":"A","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"十二纵八横两环十六射","question_id":35436,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"八纵八横四环十六射","question_id":35436,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"十二纵八横四环八射","question_id":35436,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"八纵八横两环八射","question_id":35436,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["A"],"exercise_id":"332245","question_number":2},{"id":35437,"category_id":483,"type":0,"title":"继港珠澳大桥之后,我省珠江三角洲又一座世界级桥梁工程是( )。","answer":"B","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"虎门大桥","question_id":35437,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"南沙大桥","question_id":35437,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"南澳大桥","question_id":35437,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"湛江海湾大桥","question_id":35437,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["B"],"exercise_id":"332245","question_number":3},{"id":35438,"category_id":483,"type":0,"title":"截止( )年底,广东省高速公路通车里程预计突破10000公里","answer":"B","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"2019","question_id":35438,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"2020","question_id":35438,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"2021","question_id":35438,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"2022","question_id":35438,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["B"],"exercise_id":"332245","question_number":4},{"id":35439,"category_id":483,"type":0,"title":"截止2019年底,广东省高速公路通车总里程达到了( )公里,连续6年位居全国第一。","answer":"A","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"9495","question_id":35439,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"9002","question_id":35439,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"9594","question_id":35439,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"10000","question_id":35439,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["A"],"exercise_id":"332245","question_number":5},{"id":35440,"category_id":483,"type":0,"title":"截止2019年底,广东省高速公路通车总里程达到了9495公里,连续( )年位居全国第一。","answer":"C","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"4","question_id":35440,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"5","question_id":35440,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"6","question_id":35440,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"7","question_id":35440,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["C"],"exercise_id":"332245","question_number":6},{"id":35441,"category_id":483,"type":0,"title":"截止2019年底,广东省全面完成取消高速公路省界收费站工作,全省ETC发行量已超过( )万套,居全国第一。","answer":"D","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"1998","question_id":35441,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"1989","question_id":35441,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"2019","question_id":35441,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"1900","question_id":35441,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["D"],"exercise_id":"332245","question_number":7},{"id":35442,"category_id":483,"type":0,"title":"截止2019年底,广东省全面完成取消高速公路省界收费站工作,全省建成并投入使用的高速公路ETC门架( )套。","answer":"A","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"1998","question_id":35442,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"1989","question_id":35442,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"2019","question_id":35442,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"1900","question_id":35442,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["A"],"exercise_id":"332245","question_number":8},{"id":35443,"category_id":483,"type":0,"title":"截止2020年底,广东省高速公路通车里程预计突破( )公里","answer":"C","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"9000","question_id":35443,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"9500","question_id":35443,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"10000","question_id":35443,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"600","question_id":35443,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["C"],"exercise_id":"332245","question_number":9},{"id":35444,"category_id":483,"type":0,"title":"截至2019年底,全省高速公路通车总里程提前( )年实现原规划目标。","answer":"D","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"10","question_id":35444,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"8","question_id":35444,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"11","question_id":35444,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"12","question_id":35444,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["D"],"exercise_id":"332245","question_number":10},{"id":35445,"category_id":483,"type":0,"title":"南沙大桥,原称虎门二桥,于( )建成通车。","answer":"A","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"2019/4/2'","question_id":35445,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"2019/12/28'","question_id":35445,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"2018/12/28'","question_id":35445,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"2019/4/25'","question_id":35445,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["A"],"exercise_id":"332245","question_number":11},{"id":35446,"category_id":483,"type":0,"title":"仁新高速是国家高速公路网( )的重要组成部分。","answer":"B","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"武汉至广州高速公路","question_id":35446,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"武汉至深圳高速公路","question_id":35446,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"南京至广州高速公路","question_id":35446,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"南京至深圳高速公路","question_id":35446,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["B"],"exercise_id":"332245","question_number":12},{"id":35447,"category_id":483,"type":0,"title":"为推动高速公路绿色可持续发展,应贯彻绿色发展理念,降低公路建设运营的能源消耗与碳排放,加强生态保护、污染防治和资源节约,强化科技创新,完善标准规范,创新体制机制,加强监督管理,全面建成与( )相适应的绿色高速公路发展与运营体系。","answer":"B","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"绿色交通","question_id":35447,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"交通强国","question_id":35447,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"零排放交通","question_id":35447,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"智能交通","question_id":35447,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["B"],"exercise_id":"332245","question_number":13},{"id":35448,"category_id":483,"type":0,"title":"下列属于2019年7月开始,广州交警在全市高速公路开展整治的10类重点交通违法行为的是?","answer":"A","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"营运客车凌晨2时至5时运行","question_id":35448,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"货车凌晨2时至5时运行","question_id":35448,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"营运客车凌晨1时至2时运行","question_id":35448,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"营运客车下午2时至5时运行","question_id":35448,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["A"],"exercise_id":"332245","question_number":14},{"id":35449,"category_id":483,"type":0,"title":"自( )零时起,我省禁止未经检测或者经检测显示违法超限超载运输、被列入严重违法失信超限超载运输当事人名单的货运车辆驶入高速公路。","answer":"A","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"2019/12/16'","question_id":35449,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"2020/1/1'","question_id":35449,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"2019/3/31'","question_id":35449,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"2019/12/31'","question_id":35449,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["A"],"exercise_id":"332245","question_number":15},{"id":35450,"category_id":483,"type":0,"title":"自2020年1月1日起,广东全省高速公路(含高速公路桥梁、隧道项目,港珠澳大桥主体工程除外)调整计费方式,统一执行( )明确了收费费率和收费系数。","answer":"A","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"《收费公路车辆通行费车型分类》(JT/T 489-2019)","question_id":35450,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"《收费公路车辆通行费收费标准》(JT/T 489-2019)","question_id":35450,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"《收费公路车辆通行费车型分类》(JT/T 489-2020)","question_id":35450,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"《收费公路车辆通行费收费标准》(JT/T 489-2020)","question_id":35450,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["A"],"exercise_id":"332245","question_number":16},{"id":35487,"category_id":484,"type":0,"title":"( )包括省级计费参数、省级路径参数和全网收费站间可达路径参数的管理。","answer":"A","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"费率管理","question_id":35487,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"稽核管理","question_id":35487,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"收费管理","question_id":35487,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"绿通管理","question_id":35487,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["A"],"exercise_id":"332245","question_number":17},{"id":35488,"category_id":484,"type":0,"title":"( )负责承担全国收费公路联网收费的联网运营和服务工作。","answer":"B","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"交通运输部公路局","question_id":35488,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"交通运输部路网监测与应急处置中心","question_id":35488,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"省级交通运输主管部门","question_id":35488,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"省级收费公路联网结算管理机构","question_id":35488,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["B"],"exercise_id":"332245","question_number":18},{"id":35489,"category_id":484,"type":0,"title":"( )负责指导本省(区、市)收费公路联网收费运营管理和服务工作。","answer":"C","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"交通运输部公路局","question_id":35489,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"交通运输部路网监测与应急处置中心","question_id":35489,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"省级交通运输主管部门","question_id":35489,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"省级收费公路联网结算管理机构","question_id":35489,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["C"],"exercise_id":"332245","question_number":19},{"id":35490,"category_id":484,"type":0,"title":"( )负责制订、修订、发布和执行全省联网收费中各类收费事件对应的收费规则及路费拆分原则,受托结算单位负责结算单位负责根据确定的收费规则制定各类收费事件对应的费率参数。","answer":"A","option":[{"rank_serial":1,"choice_serial":"A","choice_info":"营运中心","question_id":35490,"current":0},{"rank_serial":2,"choice_serial":"B","choice_info":"路段中心","question_id":35490,"current":0},{"rank_serial":3,"choice_serial":"C","choice_info":"区域中心","question_id":35490,"current":0},{"rank_serial":4,"choice_serial":"D","choice_info":"受托结算单位","question_id":35490,"current":0}],"uid":28,"update_uid":28,"create_time":1676277091,"update_time":1676277091,"company_id":120,"status":0,"new_time":null,"remark":null,"is_show":1,"is_favorite":0,"typename":"单选题","choice_answer":["A"],"exercise_id":"332245","question_number":20}]

我只想要 title 的key和值 ,key :"answer" 的值:"某个英文字母" ,对应其answer 值的"choice_info" 的值

输出比如:
广东省高速公路网规划(2020—2035年)的具体目标是通往粤北有( )条高速公路通道
D
8

如果是多选题 也是一样的输出

将你的列表复制到一个.json文件中,然后打开取值

img

代码如下:

# coding:utf-8
import json

with open( 'info.json') as f:
    a = json.load(f)
for each in a:
    title = each['title'].replace('\n','')
    ans = each['choice_answer']
    choices = each['option']
    print(f"题目:{title}")
    for i in ans:
        for option in choices:
            if i == option['choice_serial']:
                print(f"选项:{i}")
                print(f"答案:{option['choice_info']}")
                break
    print()

运行结果如下:

img

#其实上面的列表就是一个json,把它存入文件test.json可以如下取值
#你的示例全是单选题,如果有多选,最好给出数据样本
import json

with open( 'test.json', encoding = 'utf-8') as f:
    l = json.load(f)    
    for i in l:
        print('title:', i['title'], 'answer:', i['answer'], 'choice_info:',i['option']['ABCD'.index(i['answer'])]['choice_info'])

img

爬虫弄的数据吗?把你的数据来个data.json(),变成字典或者列表,选取那都行。
或者直接这样写,因为你的null没有引号,复制你的数据,弄成表格,然后你想怎么取都行


null=''
dd=你的数据
answer={'A':0,'B':1,'C':2,'D':3}
d=[]
for i in range(len(dd)):
    num=answer[dd[i]['answer']]
    df={'title':dd[i]['title'],'answer':dd[i]['answer'],'choice_info':dd[i]['option'][num]['choice_info']}
    d.append(df)
data=pd.DataFrame(d)
print(data)

img

https://www.baidu.com/link?url=wPssb-R6Qm0TneXbSZLaoB3x94SVJtFvd-bMIe5AB3BcE4iePUxHWeH2ScHuUNSVWQksnCqiCCQp0LXAfWZKiKrOMuAq7BZoFwBFH3Y5QhS&wd=&eqid=fbfb3d36001294af0000000263ec41e7

# 用 json 将数据读出,存放到a
a = .....

for i in range(len(a)):
    print('第{}题:'.format(i+1))
    print(a[i]['title'])
    print('答案:',a[i]['answer'])
    print(a[i]['choice_answer'])
    print([n['choice_info'] for n in a[i]['option'] if n['choice_serial'] in a[i]['choice_answer']])
    print()

img

把你的获取到的这些数据转为json:

import json
d=json.load(data)
for i in range(len(d)):
      print(d[i]['answer'],d[i]['choice_answer'])

# 使用json读取数据,转换成dict或者list, 放到list中
list = ...

for item in list:
    text = item['title']
    answer = item['answer']           
    option = item['aption']
    for val in option:
        if type(answer) == str :
            if val['choice_serial'] == answer:
                text += answer + "\r\n" + val['choice_info'] + "\r\n"
        else :
            text += ",".join(answer) + "\r\n"
            for ans in answer:
                if val['choice_serial'] == ans:
                    text += val['choice_info'] + ","
            text += "\r\n"
        print(text)