首页 > 解决方案 > 函数内部的for循环只执行一次

问题描述

我遇到了一个从未遇到过的问题,我确实从另一个函数多次调用了一个包含 for 循环的函数,但后者只执行一次,我不知道我做错了什么。

这是包含 for 循环的函数。

def check_neutre(word):
   global f4
   i = 0
   neutre = []
   print(word)
   for ligne in f4:
      neutre.append(ligne.strip())
   print(len(neutre))
   return "done"

f4 是在顶部打开的文件变量。

这里是调用它的函数

def check_words(words):
    polarite = 0
    exist = False
    for word in words:
        print(check_neutre(word))

check_words(words)

words 变量是单词列表。

显示循环仅执行一次的输出

上面的输出表明循环只执行一次

标签: pythonfunctionfor-loop

解决方案


我认为您正在搜索文件的每一行的循环,并且在您的代码中您只需一次循环

您可以在文件开头更改为此:

f4_lines = f4.readlines()

并使用f4_linesinstad的全局f4

如果它是一个大文件,可能还有另一种解决方案,因为这会将文件加载到内存中


推荐阅读