Python 3.x 识别列表中的空间编号

Python 3.x 识别列表中的空间编号,python-3.x,Python 3.x,我想写一个函数,得到一个整数列表,如果它包含007,则返回True。例如,查看一些结果 spy_游戏([1,2,4,0,0,7,5])-->True 间谍游戏([1,0,2,4,0,5,7])-->正确 间谍游戏([1,7,2,0,4,5,0])-->False 我有一个代码,它的工作(见下文) 但我想要另一个解决方案 def spy_game(nums): code = [0,0,7,'x'] for num in nums: if num == code[

我想写一个函数,得到一个整数列表,如果它包含007,则返回True。例如,查看一些结果

spy_游戏([1,2,4,0,0,7,5])-->True
间谍游戏([1,0,2,4,0,5,7])-->正确
间谍游戏([1,7,2,0,4,5,0])-->False

我有一个代码,它的工作(见下文) 但我想要另一个解决方案

def spy_game(nums):

    code = [0,0,7,'x']

    for num in nums:
        if num == code[0]:
            code.pop(0)   # code.remove(num) also works

    return len(code) == 1

这听起来像是一个家庭作业问题,所以我将提供一种思考问题的方式,而不是给出一个彻底的解决方案

Python中的字符串和列表都是iterable类型,因此您可以应用一个针对字符串(即)的解决方案,并将其应用于列表

关于字符串的一个有用函数也是方法,它从列表中创建一个字符串

因此,如果列表
l=['a',b',c',d',e',f']
中包含序列
s=['d',e',f']
的话,你可以用一种方法来检查这两个序列是否都是字符串,并检查
'.join(s)in.''。join(l)
。例如,由于列表的元素不是字符串,因此必须将它们转换为使用
.join()


我怀疑软件包中也有一个解决方案,但这可能有点过头了。

问题是什么?为什么不编写该函数?问题是什么?用于在列表中检测0,0,7的代码,例如[1,0,2,4,0,5,7]