我有一个包含两个整数的列表,可以随机更改。我想检查这些整数是否超过21
。
因此,例如,如果我想找到一个特定的整数,我会说:
score = [4, 21]
if 21 in score:
...
但是,我如何将其更改为一系列值而不是特定的整数。
答案 0 :(得分:3)
由于您只有两个数字,因此简单的条件运算符就足够了:
if score[0] > 21 or score[1] > 21:
否则,如果您有更多号码,可以使用any
和generator expression:
if any(x > 21 for x in score):
答案 1 :(得分:2)
你可以这样试试(使用any
):
score = [4, 21]
integers = [21,43]
if any(i > max(score) for i in integers):
...
整数可以是任意长度的可迭代,比如[2,3,1,6,7]
。它会一次检查一个,以验证它是否满足i > max(score)
的条件。第一个将结果短路到True
。条件内的代码然后成功执行。
答案 2 :(得分:-1)
您可以使用range
:
>>> s
[4, 21]
>>> 2 in range(s[0], s[1])
False
>>> 20 in range(s[0], s[1])
True
>>>
如果您的列表未订购,则必须先添加s.sort()
,然后才能继续使用range
答案 3 :(得分:-1)
您可以考虑使用Set
。
score = set([4, 21, 8, 10, 22, 12])
target= set([21, 22])
if target.issubset(score):
...