我需要创建一个 n 长的列表,其中每个项目都是 bool 值。仅当x在一对或多对整数的范围内时,该项才为True。比如我现在的代码如下:
l = [True if a < x < b or c < x < d else False for x in range(n)]
我的问题是对的数量会有所不同,因此一个实例中可能只存在 a 和 b,但 e 和 < em>f 也可能存在于另一个中。如果我要像这样在元组列表中构造我的坐标对......
coordinates = [(a,b), (c,d), ...]
...有没有办法仍然将其作为列表理解来执行?如果没有,最Pythonic的方法是什么?
最佳答案
是的,您可以在 any
中使用生成器表达式来完成此操作:
coordinates = [(2, 4), (3, 8)]
n = 5
l = [any(a < x < b for (a, b) in coordinates) for x in range(n)]
print(l)
Output:
[False, False, False, True, True]
关于python - 如何在列表理解中将值与对列表进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70411221/