加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何在for循环中只运行一次if?

发布时间:2020-12-20 12:14:23 所属栏目:Python 来源:网络整理
导读:我试图根据条件将两个列表中的项目放在一起,以创建第三个列表作为输出.即使我是新手,这也相对简单.但是,我试图让循环的一部分只运行一次,这就是我奋斗的地方.有没有办法做到这一点? 数据来自大型DataFrame文本数据.但我创建了问题的简化版本,试图更容易地解
我试图根据条件将两个列表中的项目放在一起,以创建第三个列表作为输出.即使我是新手,这也相对简单.但是,我试图让循环的一部分只运行一次,这就是我奋斗的地方.有没有办法做到这一点?

数据来自大型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,3.5,5]

我怎样才能得到以下结果?

[1,5]

解决方法

您可以添加一个初始化为false的布尔值,然后在运行b.append(3.5)后直接将其设置为true.如果在if语句中检查此值,它将只运行一次.

a = [1,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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读