本文介绍了查找数组是否包含2旁边的2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我被困在这个问题上



has22([1, 2, 2]) → True
has22([1, 2, 1, 2]) → False
has22([2, 1, 2]) → False

我知道基本思想(有语法错误),但我无法实现。我也想知道这是什么类型的问题,例如。图表,搜索?

I know the basic idea (there are syntax errors) but I can't implement it. I would also like to know what type of problem this is, eg. graph, search?

def has22(nums):
for x in nums:
    if ( (nums[x] = 2) and (nums[x+1] = 2) )
        return True

return False 


推荐答案

def has22(nums):
    return any(x == y == 2 for x, y in zip(nums, nums[1:]))

>>> has22([1, 2, 2])
True
>>> has22([1, 2, 1, 2])
False
>>> has22([2, 1, 2])
False

在Python 2中使用: code> from itertools import izip 如果你想要一个懒惰的 zip

In Python 2 use: from itertools import izip if you want a lazy zip

这篇关于查找数组是否包含2旁边的2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 02:26