gpt4 book ai didi

python - 检查字典列表中的值时将 for 循环转换为 all()

转载 作者:行者123 更新时间:2023-11-30 22:06:25 24 4
gpt4 key购买 nike

我有一个函数可以生成如下所示的字典列表:

direction_stops = [
{
'direction_id': 0,
'stop_id': 1,
'id': 'df268ccf-1291-4fce-a4c5-d348cbbb95c7',
'sequence': 1
},
{
'direction_id': 1,
'stop_id': 1,
'id': '55e62e15-4b44-4e71-bf5d-27c6d4fb9add',
'sequence': 1},
{
'direction_id': 0,
'stop_id': 2,
'id': '7fde3df9-9850-49f1-86bc-511ae2913379',
'sequence': 2
},
{
'direction_id': 1,
'stop_id': 2,
'id': '2ed4053f-b5e0-4df1-b655-d0f23d65a698',
'sequence': 2
}
]

我试图断言所有字典中 stop_id 的值为 1 或 2。

我已经想出了如何使用 for 循环来做到这一点,但我似乎无法让下面的单行代码工作。我错过了什么吗?

all((d['stop_id'] == 1 or d['stop_id'] == 2) in d for d in direction_stops)

最佳答案

去掉in d

all((d['stop_id'] == 1 or d['stop_id'] == 2) for d in direction_stops)

您可以使用 in 缩短相等性检查:

all(d['stop_id'] in {1, 2} for d in direction_stops)

关于python - 检查字典列表中的值时将 for 循环转换为 all(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52726540/

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