检查列表是否包含子列表

时间:2015-02-06 04:09:04

标签: python

我正在编写以下来自codingbat的实践问题:

  

给定一个int数组,如果.. 1,2,3,..出现在某个数组中,则返回True。

我写过:

def array123(nums):
    array = [1,2,3]
    for i in nums:
        sub = nums[i:i+3] 
        if array == sub:
            return True
     return False

当字符串为[1,2,3]时,它会一直失败,任何其他数字组合都有效。我理解编解码器给出的解决方案,但我不明白为什么我的代码只是在那个实例中失败了。我做错了什么?

1 个答案:

答案 0 :(得分:2)

for i in nums:先后为i分配nums列表中的值。

但是你似乎相信它指的是指数而不是价值 - 或许这是因为它等同于它的等同物构造将在Javascript。

因此,让i遍历索引 - for i in range(len(nums)-3):,其余代码似乎没问题!