python - 函数内部的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 变量是单词列表。
上面的输出表明循环只执行一次
解决方案
我认为您正在搜索文件的每一行的循环,并且在您的代码中您只需一次循环
您可以在文件开头更改为此:
f4_lines = f4.readlines()
并使用f4_lines
instad的全局f4
如果它是一个大文件,可能还有另一种解决方案,因为这会将文件加载到内存中
推荐阅读
- r - 如果特定学习者在特定任务上失败,如何使基准函数不失败?
- bash - 为什么 $LINES 在 bash 脚本中会发生变化?
- python - 熊猫:按条件分组
- laravel - Laravel Nova 根据用户级别显示不同的标签
- android - 由于连接超时,Android Studio 构建同步失败
- javascript - 为什么使用 Number(num) != num 而不是 ~~num != num 会引发“JavaScript 堆内存不足”?
- .net - 尽管证书错误,如何在 .NET Core 中获取 HTTP 响应
- shopify - 使用 Shopify REST API 对取消的订单进行退款
- java - 仅当不同键下的值匹配时,列表中某些 HashMap 值的总和
- python - 如果另一个列表中不存在的列表项如何不更改