Python 查找整数列表中是否连续出现整数

Python 查找整数列表中是否连续出现整数,python,list,if-statement,Python,List,If Statement,我正在做一件事 任务是: Given an array of ints, return True if the array contains a 2 next to a 2 somewhere. has22([1, 2, 2]) → True has22([1, 2, 1, 2]) → False has22([2, 1, 2]) → False 将返回所有True实例,但我想不出一种方法来包含False实例的语句(我希望使用控制流解决方案)。有什么建议吗?您不需要在r

我正在做一件事

任务是:

Given an array of ints, return True if the array contains a 2 next to a 2 somewhere. has22([1, 2, 2]) → True has22([1, 2, 1, 2]) → False has22([2, 1, 2]) → False
将返回所有
True
实例,但我想不出一种方法来包含
False
实例的语句(我希望使用控制流解决方案)。有什么建议吗?

您不需要在return语句之后中断,只需要在for循环中添加“returnfalse”语句

def has22(nums):
   for i in range (len(nums)-1):
    if nums[i+1]==2 and nums[i]==2:
     return True
   return False

您不需要在return语句之后中断,只需要在for循环中添加“returnfalse”语句

def has22(nums):
   for i in range (len(nums)-1):
    if nums[i+1]==2 and nums[i]==2:
     return True
   return False

您可以使用和简化功能:

演示:


您可以使用和简化功能:

演示:


嗯,我喜欢这个想法,但即使有内置的,这个在线练习似乎并不接受。错误消息是:编译问题:错误:'any'未定义必须使用python 2.4或更早版本。嗯,我喜欢这个想法,但即使any是内置的,这个在线练习似乎不接受它。错误消息是:编译问题:错误:'any'未定义必须使用Python2.4或更早版本。您的代码正常工作。但正如我所知,for循环和return-False语句处于同一级别(而不是循环中的return-False)。调用该函数时,它启动for循环,查看if语句,如果该条件在定义的范围内的任何地方都满足,则返回True,如果不满足,则不执行任何操作,然后转到下一个语句,返回False。这是正确的吗?是的,您是正确的,如果“循环”没有找到满足条件的元素-它“运行”下一个语句-返回FALSE,那么代码就正常工作了。但正如我所知,for循环和return-False语句处于同一级别(而不是循环中的return-False)。调用该函数时,它启动for循环,查看if语句,如果该条件在定义的范围内的任何地方都满足,则返回True,如果不满足,则不执行任何操作,然后转到下一个语句,返回False。正确吗?是的,您是正确的,如果“循环”没有找到满足条件的元素-它“运行”下一个语句-返回False
def has22(nums):
    return any(nums[i+1] == nums[i] == 2 for i in range(len(nums)-1))
>>> def has22(nums):
...     return any(nums[i+1] == nums[i] == 2 for i in range(len(nums)-1))
...
>>> has22([1, 2, 2])
True
>>> has22([1, 2, 1, 2])
False
>>> has22([2, 1, 2])
False
>>>