Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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 For循环意外行为_Python_For Loop_Python 3.5 - Fatal编程技术网

Python For循环意外行为

Python For循环意外行为,python,for-loop,python-3.5,Python,For Loop,Python 3.5,我是python初学者,正在学习for循环。因此,有谁能告诉我这段代码有什么问题,因为我的程序没有运行(甚至在PYTHON SHELL上) 正如@所评论的,您的代码似乎有两个问题: 第一个是缩进,words.insert应该在if块中,而且,您正在附加到正在循环的同一个列表中,如果存在匹配项,这将导致无休止的循环 解决方案是正确缩进并创建一个新列表来保存匹配项,即: words = ['cat', 'window', 'defenestrate'] wordsMatch = [] for w i

我是python初学者,正在学习
for
循环。因此,有谁能告诉我这段代码有什么问题,因为我的程序没有运行(甚至在PYTHON SHELL上)


正如@所评论的,您的代码似乎有两个问题: 第一个是缩进,
words.insert
应该在
if
块中,而且,您正在附加到正在循环的同一个列表中,如果存在匹配项,这将导致无休止的循环

解决方案是正确缩进并创建一个新列表来保存匹配项,即:

words = ['cat', 'window', 'defenestrate']
wordsMatch = []
for w in words:
    if len(w) > 6:
        wordsMatch.insert(0, w)
print wordsMatch

因为您正在创建一个无限循环。您迭代该列表,如果您发现一个单词长度超过6个字符,则将其添加到列表中

你犯了什么错误?据我所知,主要有两个问题。缩进是不正确的,并且您正在同时循环和修改列表。对于@mic4ael提到的两个问题,可能它“不起作用”的原因是因为它仍然需要另一行。再次按enter键,它将运行并抛出一个错误。如果我让你数一数桌子上的一堆桔子,每次你要数到最后一个桔子,我会再加一个桔子,我可以向你保证,你也会做出奇怪的行为:)。当你浏览列表时,你不应该更改列表中的单词“欢迎!”!如果我的回答帮助了你,请考虑接受它作为正确的答案,谢谢!
words = ['cat', 'window', 'defenestrate']
wordsMatch = []
for w in words:
    if len(w) > 6:
        wordsMatch.insert(0, w)
print wordsMatch