亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在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 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號