Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 遍历列表的长度_Python - Fatal编程技术网

Python 遍历列表的长度

Python 遍历列表的长度,python,Python,给定一个NUM列表,如果数组在3旁边包含3,则返回True …我该如何解决这个问题? 我试过使用范围函数,但似乎不起作用。。 比如说, def myfunc(mylist): for i in range(0, len(mylist) - 1): return mylist[1] == 3 and mylist[i + 1] == 3 myfunc([4, 3, 3]) returns false 实际上我有点困惑 如何迭代索引计数 def myfunc(myli

给定一个NUM列表,如果数组在3旁边包含3,则返回True …我该如何解决这个问题? 我试过使用范围函数,但似乎不起作用。。 比如说,

def myfunc(mylist):
     for i in range(0, len(mylist) - 1):
         return mylist[1] == 3 and mylist[i + 1] == 3

myfunc([4, 3, 3])
returns false
实际上我有点困惑 如何迭代索引计数

def myfunc(mylist):
     for i in range(0, len(mylist) - 1):
         return mylist[1] == 3 and mylist[i + 1] == 3

myfunc([4, 3, 3])
returns false

expected result = True
actual output = False
返回mylist[i]==3和mylist[i+1]==3
这总是在只检查一次后返回。相反,使用

如果mylist[i]==3和mylist[i+1]==3:返回True

使用
zip
可以将列表与自身进行比较:

>>> l_true=[1,2,3,4,5,3,3,5,6,7,5,4]
>>> any( x==y==3 for x,y in zip( l_true, l_true[1:] ) )
True
>>> l_false=[1,2,3,4,5,3,1,5,6,7,5,4]
>>> any( x==y==3 for x,y in zip( l_false, l_false[1:] ) )
False
说明:

zip
在每个列表中一次获取一个元素,您可以将列表与自身进行比较,切换一个位置一个实例:

[1,2,3,4,5,3,3,5,6,7,5,4]
[2,3,4,5,3,3,5,6,7,5,4]  #<-  switched list
           ^
           |
            - here !
[1,2,3,4,5,3,3,5,6,7,5,4]

[2,3,4,5,3,3,5,6,7,5,4]#meuse enumerate在迭代时获取列表的当前索引时返回True。这很有帮助,但同样,如果将索引
i+1
与索引
i
进行比较,而不是与
1
i复制粘贴的OPs代码进行比较,则在列表中最后一项为3时返回false的效果会更好。就我而言,这不是一个问题。虽然这段代码可以回答这个问题,但提供关于它如何和/或为什么解决这个问题的附加上下文将提高答案的长期价值。如果OP失败,CBA。如果你发布了答案,你应该检查一下。对你的行为负责。现在你看起来像个傻瓜,我想那不是你的本意。只需说“谢谢…修复了”就可以修复缩进。。(是的……一旦你读了我的信息并看到我的观点,你可以标记删除我的,也可以删除你的)。
[1,2,3,4,5,3,3,5,6,7,5,4]
[2,3,4,5,3,3,5,6,7,5,4]  #<-  switched list
           ^
           |
            - here !