1. 程式人生 > 其它 >python if in 語句_【Python】IF 條件語句總結

python if in 語句_【Python】IF 條件語句總結

技術標籤:python if in 語句

Python條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的程式碼塊。

if 語句用於控制程式的執行,基本形式為:

if 判斷條件:
    執行語句……
else:
    執行語句……

if 語句的判斷條件可以用>(大於)、<(小於)、==(等於)、>=(大於等於)、<=(小於等於)來表示其關係。


日常工作中用到“==”的情況比較多,我把這個“==”稱為精確匹配。有精確匹配也就有模糊匹配:startwith的方法,或者 in的方法。

資料來源如下:

51e330212dda69c3a07c9889e9d1117e.png

注:
還有類似的問題2、問題3、問題4

日常需求背景:
1、需要將D3 - D7單元格內容更換成A - E。
2、單元格更換為A - E 後,進行批註。批註內容為原先單元格“A:”後的文字。
eg:D3單元格批註為:“有認真思需要做哪些工作,能結合上級的意見自我調整”
3、每兩週定時需要。


寫法1:

方法為IF (“==”)精確匹配的方法:

def tran_one(x):
    if x =='A:有認真思需要做哪些工作,能結合上級的意見自我調整':
        x = 'A'
    elif x == 'B:思考的不多,但能接受上級的意見,按照培訓中給的一些方法提高能力':
        x = 'B'

    return x

data['1.是否能積極思考,主動提高自己?'] = data['1.是否能積極思考,主動提高自己?'].apply(tran_one)

寫法2:

用startswith()方法,因為評分的字元在字串的第一位。

如果評分的字元在字串的最後一位,可以用endswith()方法。

def tran_one(x):
    if x.startswith('A'):
        x = 'A'
    return x

data['1.是否能積極思考,主動提高自己?'] = data['1.是否能積極思考,主動提高自己?'].apply(tran_one)
data['2.對使用者的態度怎麼樣?'] = data['2.對使用者的態度怎麼樣?'].apply(tran_one)

寫法3:

方法為IF (“in”)模糊匹配的方法:

def tran_one(x):
    if 'A' in x:
        x = 'A'
    elif 'B' in x:
        x = 'B'
    elif 'C' in x:
        x = 'C'
    elif 'D' in x:
        x ='D'
    elif 'E' in x:
        x = 'E'
    return x

data['1.是否能積極思考,主動提高自己?'] = data['1.是否能積極思考,主動提高自己?'].apply(tran_one)
data['2.對使用者的態度怎麼樣?'] = data['2.對使用者的態度怎麼樣?'].apply(tran_one)

總結:

1、寫法2、3更加優於寫法1,因為寫完一個函式方法,不用重複把每一個問題裡面的A、B、C、D,用”==“寫一遍。有幾個問題,就套用一遍就行。


Python:startswith()、endswith()方法:

一、startswith()方法語法:

  • string.startswith(str, beg=0,end=len(string));

引數:

  • str -- 檢測的字串。
  • strbeg -- 可選引數用於設定字串檢測的起始位置(可選,從左數起)。
  • strend -- 可選引數用於設定字串檢測的結束位置(可選,從左數起)。

返回值:

如果檢測到字串則返回True,否則返回False。

二、endswith()方法語法:

  • string.endswith(str, beg=[0,end=len(string)]);

引數:

  • str -- 檢測的字串。
  • beg -- 可選引數用於設定字串檢測的起始位置(可選,從左數起)。
  • end -- 可選引數用於設定字串檢測的起始位置(可選,從左數起)。

返回值:

如果檢測到字串則返回True,否則返回False。