为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python中高效执行多个IF语句

如何在python中高效执行多个IF语句

慕哥9229398 2023-06-27 16:37:44
比较两组变量并在它们不相等时执行某些操作的更Pythonic或更有效的方法是什么?例如,这可行,但我觉得可能有比多个if语句更好的方法?#Var set Aa=1b=5c=6d=10e=15#Var set Baa=2bb=5cc=6dd=10ee=14#comparison codeif a == aa:    #do somethingif b == bb:    #do somethingif c == cc:    #do somethingif d == dd:    #do somethingif e == ee:    #do something我的实际代码将需要大约 50 个 if 语句,因此我正在寻找一种更有效的方法。谢谢!编辑我在上面留下了原始代码,因为有些人已经回答了,但他们不确定#do something代码是否不同或相同(抱歉造成混淆)。#do something是不同的。下面更能代表我想要完成的任务。#Var set Aa=1b=5c=6d=10e=15#Var set Baa=2bb=5cc=6dd=10ee=14#comparison codeif a == aa:    a = 'match'if b == bb:    b = 'match'if c == cc:    c = 'match'if d == dd:    d = 'match'if e == ee:    e = 'match'
查看完整描述

2 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

如果您要比较成对的项目,您可以使用zip以下方法创建对:


for left, right in zip([a,b,c,d,e],[aa,bb,cc,dd,ee]):

  if left == right:

    # a == aa, b == bb, etc.

如果“做某事”每次都不相同,则将回调添加为 zip 的第三个参数:


for left, right, fn in zip([a,b,c,d,e],[aa,bb,cc,dd,ee],[fa,fb,fc,fd,fe]):

  if left == right:

    fn(left, right) # Assumes fa takes a and aa as arguments, etc


查看完整回答
反对 回复 2023-06-27
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

如果所有的“#do some”都是相同的,你就可以这样做。


A = [1, 5, 6, 10, 15]

B = [2, 5, 6, 10, 14]


x = 0

while x < len(A) and x < len(B):

    if A[x] != B[x]: #if not equal

        #do something

    x += 1

如果“#do some”对于每个人来说都是不同的,那么你就做这样的事情。


A = [1, 5, 6, 10, 15]

B = [2, 5, 6, 10, 14]

C = ['something1', 'something2', 'something2', 'something1', 'something3']


def something(string):

    if string == 'something1':

        #do something1

    elif string == 'something2':

        #do something2

    elif string == 'something3':

        #do something3


x = 0

while x < len(A) and x < len(B):

    if A[x] != B[x]: #if not equal

        something(C[x])

    x += 1


查看完整回答
反对 回复 2023-06-27
  • 2 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信