gpt4 book ai didi

使用文件的 python 嵌套循环和 if 条件不起作用

转载 作者:行者123 更新时间:2023-12-01 05:08:45 25 4
gpt4 key购买 nike

我有:

master = open('master.txt', 'r')
transaction = open('transaction.txt', 'r')

master_list = []
employee_list = []


for line in master:
# split the line
record = line.split(',')
# extract id from record
emp_id = record[0]
# add id to list
employee_list.append(emp_id)

for li in transaction:
# split the line
rec = li.split(',')
i_d = rec[3]
print(i_d)

这按预期工作并输出

001
001
001
001
001
002
002
002
002
002
003
003
003
003
003
004
004
004
004
004
005
005
005
005
005

但是如果我在嵌套循环中使用 if 语句,如下所示:

for li in transaction_file:
# split the line
rec = li.split(',')
i_d = rec[3]
if i_d == emp_id:
print(emp_id)

我只得到 001 001 001 001 001

这是为什么?

最佳答案

您永远不会倒回您的交易文件;您在主循环的第一个周期中经历一次。

您拥有的结构可能不是最好的,但是:

for line in master:
# split the line
record = line.split(',')
# extract id from record
emp_id = record[0]
# add id to list
employee_list.append(emp_id)

transaction.seek(0)
for li in transaction:
# split the line
rec = li.split(',')
i_d = rec[3]
print(i_d)

每次迭代之前,transaction.seek(0) 都会将您倒回到文件的开头(将读取位置移动到文件的开头)。

关于使用文件的 python 嵌套循环和 if 条件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24590405/

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