我试图根据条件将两个列表中的项目放在一起,以创建第三个列表作为输出。即使我是新手,这也相对简单。但是,我试图让循环的一部分只运行一次,而这正是我挣扎的地方。有没有办法做到这一点?
数据来自文本数据的大型 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)
Run Code Online (Sandbox Code Playgroud)
这给出:
[1, 2, 3, 3.5, 4, 3.5, 5]
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到以下结果?
[1, 2, 3, 3.5, 4, 5]
Run Code Online (Sandbox Code Playgroud)
您可以添加一个初始化为 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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2301 次 |
| 最近记录: |