IT序号网

Python3之嵌套列表/字典迭代

wuhuacong 2025年01月19日 编程语言 20 0

在一个 mongodb 请求之后,我得到一个这样的文档:

a = [{"name": 'Aspirin', "Dates": [{'Qty': 50, 'Date':'2019-07-09'}, {'Qty': 10, 'Date': '2020-05-19'}]}] 

我想检索与日期2019-07-09相关的数量50。这是我进行的方式:

old_qte = None 
for i in a: 
    for key, value in i.items(): 
        if value == 'Aspirin': 
            for k, v in i.items(): 
                if k == 'Dates': 
                    for z in v: 
                        for x, y in z.items(): 
                            if y == '2019-07-09': 
                                old_qte = z 
 
print(old_qte['Qty'], old_qte) 

它工作得很好,但看起来很复杂。有人会有更简单、更易读的方法吗?

请您参考如下方法:

这将使您一行一行到达那里:

next(date for date in a[0]['Dates'] if date['Date'] == '2019-07-09')['Qty'] 
#50 

将只获取第一个满足条件的并从中获取Qty


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!