gpt4 book ai didi

python - 如果满足条件,如何只调用列表中的字典值?

转载 作者:太空宇宙 更新时间:2023-11-04 09:29:45 25 4
gpt4 key购买 nike

如果键的值在单独的列表中,我将尝试从列表中的字典中调用所有值。

例如,我有这个列出的字典:

status = [{'name': 'Carrousel', 'wait': 0, 'isOpen': True, 'single_rider': None},
{'name': 'Balloon Flite', 'wait': 0, 'isOpen': True, 'single_rider': None},
{'name': 'Skyrush', 'wait': 0, 'isOpen': False, 'single_rider': None},
{'name': 'SooperDooperLooper',
'wait': 5,
'isOpen': True,
'single_rider': None},
{'name': 'Fahrenheit', 'wait': 20, 'isOpen': True, 'single_rider': None},
{'name': 'Dummy', 'wait': 0, 'isOpen': False, 'single_rider': None}]

我也有这个列表:

route = ['Skyrush', 'SooperDooperLooper', 'Carrousel', 'Fahrenheit']

基本上,我想在 status 中为 route 中的那些名称打印出 'wait' 的值。

如果我知道索引,我知道如何调用该行的值,但我无法尝试仅调用包含特定“名称”值的行。

我的预期结果是这样的:

0
5
0
20

这些基本上是路线内连续顺序的每个相应游乐设施的“等待”时间。

谢谢!任何帮助将不胜感激。我查看了其他帖子,但找不到与我的问题类似的内容。

最佳答案

也添加@Chris 的回答,以获得预期的顺序:

[d['wait'] for d in sorted(status, key=lambda x: ''.join(route).find(x['name'])) if d['name'] in route]

输出:

[0, 5, 0, 20]

关于python - 如果满足条件,如何只调用列表中的字典值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56178513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com