gpt4 book ai didi

Python 迭代循环

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:27 25 4
gpt4 key购买 nike

我正在尝试遍历搜索列表,我已经像在 C 中那样编写了它,但我想重新编写它更像 pythonic。

我一直在尝试使用 enumerate 但我似乎无法让它工作,它正在搜索数据行以查找保存在称为字符串的数组中的关键字,有人可以吗请告诉我或解释正确的 python 语法。

谢谢

for line in f:
jd = json.loads(line)
N=0
while N<=(len(strings)-1):
if findWholeWord(strings[N])(line) != None:
print (jd['user_id'], jd['text'])
break
N=N+1

最佳答案

这里好像没有必要用enumerate。直接遍历 strings 即可:

for s in strings:
if findWholeWord(s)(line) != None:
print (jd['user_id'], jd['text'])
break

如果你还需要索引变量n,那么使用enumerate:

for n, s in enumerate(strings):
if findWholeWord(s)(line) != None:
# do something with n here?
print (jd['user_id'], jd['text'])
break

但是既然你在第一场比赛之后break,你也可以使用any内置:

if any(findWholeWord(s)(line) != None for s in strings):
jd = json.loads(line)
print (jd['user_id'], jd['text'])

此外,正如 @Ben's answer 中指出的那样,您可以通过将 stringsline 转换为单词的 set 然后仅使用 来提高检查性能in 运算符检查一组中的某些单词是否在另一组中。但如果不知道 findWholeWord 到底在做什么,就很难说清楚。

关于Python 迭代循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30570005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com