python中同时循环两个for循环的问题

python中同时循环两个for循环的问题,python,Python,我想在python中同时执行两个for循环,以便同时读取两个不同文件中具有相同索引的两行 这就是我所尝试的: def load_数据集(列路径:str,标签路径:str)->元组[List[str],List[str]]: 单词=[] 标签=[] 将open(列车路径,编码为utf8')作为tp,open(标签路径,编码为utf8')作为lp: 对于tp中的线\u tp,lp中的线\u lp: line_tp=line_tp.strip() line_lp=line_lp.strip() 如果线

我想在python中同时执行两个for循环,以便同时读取两个不同文件中具有相同索引的两行

这就是我所尝试的:

def load_数据集(列路径:str,标签路径:str)->元组[List[str],List[str]]:
单词=[]
标签=[]
将open(列车路径,编码为utf8')作为tp,open(标签路径,编码为utf8')作为lp:
对于tp中的线\u tp,lp中的线\u lp:
line_tp=line_tp.strip()
line_lp=line_lp.strip()
如果线路P和线路lp:
字=行
标签=直线
words.append(word)
标签。附加(标签)
返回单词、标签
但是,当我试图调用函数时

(列车列表,标签列表)=加载数据集(列车路径,标签路径)
我得到:

UnboundLocalError:赋值前引用了局部变量'line_lp'

现在,我真的认为问题在于第一个for循环在第二个循环之前执行,有没有办法同时使用相同的索引执行它们?

如果要在一个循环中迭代到迭代器,应该使用


您可以使用
zip
从两个文件中获取行:

for line_tp,, line_lp in zip(tp, lp):
    ....

这里根本没有两个for循环。从错误回溯中可以看出,错误将发生在for语句本身中;因为这根本不是循环两个单独列表的方式

很难说你想做什么,但我怀疑你的意思是:

for line_tp, line_lp in zip(tp, lp):

python使用
zip
来“同时迭代两件(或更多)事情”。可能重复@paritossingh谢谢,我没有看到这个答案,我将尝试一下
for line_tp, line_lp in zip(tp, lp):