我有一个dicts的词典:
for i in results[2]:
print i
Recurring: {'p_pnref': 'E78P2DFEA7E3', 'p_result': '12'}
Recurring: {'p_pnref': 'E78P2E93B933', 'p_result': '0'}
Recurring: {'p_pnref': 'E35P0A5578D3', 'p_result': '12'}
Recurring: {'p_pnref': 'E24P0AA506C3', 'p_result': '24'}
Recurring: {'p_pnref': 'E25P0AFF2C43', 'p_result': '24'}
Recurring: {'p_pnref': 'E34P0B4909A3', 'p_result': '24'}
我对p_result
的价值感兴趣。我可以轻松地使用list(results[2])[-1].p_result
抓取最后条目,但我要查看的是,循环浏览列表,然后向下,直到我登陆p_result == 0
的条目。在这个例子中,它是第二行(p_pnref == E78P2E93B933
)。
我怎样才能做到这一点?如果我可以迭代负指数,我想我可以想出其余的但我不知道该怎么做。
假设这些是定期付款和0 == successful payment
,我试图抓住“最近成功的交易”。
答案 0 :(得分:4)
我认为reversed
正是您所寻找的:
records = [
{'p_pnref': 'E78P2DFEA7E3', 'p_result': '12'},
{'p_pnref': 'E78P2E93B933', 'p_result': '0'},
{'p_pnref': 'E35P0A5578D3', 'p_result': '12'},
{'p_pnref': 'E24P0AA506C3', 'p_result': '24'},
{'p_pnref': 'E25P0AFF2C43', 'p_result': '24'},
{'p_pnref': 'E34P0B4909A3', 'p_result': '24'},
]
for record in reversed(records):
if record['p_result'] == '0':
print record['p_pnref']
break
答案 1 :(得分:0)
可能你想要:
for i in reversed(results[2]):
if i["p_result"] == "0":
do_stuff(i)