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