含义“如果每个项目都在具有相同索引的其他项目的范围内”。
price = [1, 2]
budget = [5, 7]
这有效:
if price[0] in range(budget[0]) and price[1] in range(budget[1]):
affordable = True
我认为有一些方法可以引用整个数组。像这样:if price in budget:
答案 0 :(得分:5)
您可以使用:
if all(x in range(y) for x,y in zip(price,budget)):
affordable = True
这将创建price[i],budget[i]
的元组,然后对于每个元组,我们会检查price[i]
是否在range(budget[i])
中。不过,您可以进一步优化:
if all(0 <= x < y for x,y in zip(price,budget)):
affordable = True
请注意,这假设price
s 全部整数。但是,如果您使用x in range(y)
,如果x
不是整数,则会失败。所以0.7 in range(10)
会失败,而我们的第二种方法会成功(但它当然取决于你想要的东西)。
答案 1 :(得分:2)
假设价格和预算都必须是非负数,使用in range
似乎过于复杂。相反,您可以使用<
运算符。
无论您使用的是<
还是in range
,似乎最简单的方法都是zip
这两个列表并在对上应用条件:
if (all([x[0] >= x[1] for x in zip(budget, price)])):
affordable = True