我试图根据条件将两个列表中的项目放在一起,以创建第三个列表作为输出.即使我是新手,这也相对简单.但是,我试图让循环的一部分只运行一次,这就是我奋斗的地方.有没有办法做到这一点?
数据来自大型DataFrame文本数据.但我创建了问题的简化版本,试图更容易地解决它(没有运气):
a = [1, 2, 3, 4, 5]
A = [4, 5]
b = []
for i in a:
if i in A:
b.append(3.5) # My aim is to make this line run only once
b.append(i)
else:
b.append(i)
print(b)
这给出了:
[1, 2, 3, 3.5, 4, 3.5, 5]
我怎样才能得到以下结果?
[1, 2, 3, 3.5, 4, 5]
您可以添加一个初始化为false的布尔值,然后在运行b.append(3.5)后直接将其设置为true.如果在if语句中检查此值,它将只运行一次.
a = [1, 2, 3, 4, 5]
A = [4, 5]
b = []
ran = False
for i in a:
if i in A and not ran:
b.append(3.5) # My aim is to make this line run only once
ran = True
b.append(i)
else:
b.append(i)
print(b)