Python:在条件中使用数组的索引范围



Python新手。假设我们有一个包含10个随机整数的数组。我想检查每个整数的值是否都是0<= x <= 9。比如像这样:

if 0 <= n[:11]  <=9:
print('correct')

'n[:10]'被视为一个列表,所以我不能将它与0和9进行比较。是否有一种优雅的方法来检查数组中项目的范围?

我不想写这样的代码:

if 0 <= n[0] and n[1] and ... n[9] <=9:

谢谢你的帮助

看看这个:当且仅当列表n中的所有数字至少为0且最多为9(在range(0, 10)中)

返回True
all(i in range(0, 10) for i in n)
if 0 <= min(n) <= max(n) <= 9:

可以用and代替中间的<=,不知道我更喜欢哪个。

您需要的是检查每个元素的相等性:

all(0 <= item <= 9 for item in n)

如果首先对列表进行排序,则只需检查第一个和最后一个值,如下所示:

sorted_n = sorted(n)
if sorted_n[0] > 0 and sorted_n[-1] < 10:  # returns True or False for whole list

最新更新