如何检查值的范围是否在列表中?

2024-05-03 12:33:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个两个整数的列表,可以随机改变。我想检查这些整数中是否有超过21的。你知道吗

例如,如果我想找到一个特定的整数,我会说:

score = [4, 21]
if 21 in score:
   ...

但是,如何将其更改为一个值范围而不是一个特定的整数。你知道吗


Tags: in列表if整数score我会
3条回答

您可以考虑使用Set。你知道吗

score = set([4, 21, 8, 10, 22, 12])
target= set([21, 22])

if target.issubset(score):
    ...

您可以这样尝试(使用any):

score = [4, 21]
integers = [21,43]
if any(i > max(score) for i in integers):
    ...

整数可以是任意长度的iterable,例如[2,3,1,6,7]。它将一次检查一个,以验证它是否满足i > max(score)的条件。第一个会将结果短路到True。然后,条件中的代码将成功执行。你知道吗

因为只有两个数字,简单的条件运算符就足够了:

if score[0] > 21 or score[1] > 21:

否则,如果有更多的数字,可以使用^{}generator expression

if any(x > 21 for x in score):

相关问题 更多 >