作用類似於Java的三元運算符
IF 后為真:
a = True
c = 4 if a else 3
print(c) # out: 4
IF 后為假:
a = False
c = 4 if a else 3
print(c) # out: 3
列表推導式中使用if和if-else:
1.語法結構:
-
[x for x in data if condition]
此處if主要起條件判斷作用,data數據中只有滿足if條件的才會被留下,最終生成一個數據列表。 -
[exp1 if condition else exp2 for x in data]
此處if…else主要起賦值作用。當data中的數據滿足if條件時,將其做exp1處理,否則按照exp2處理,最終生成一個數據列表。
2.實例演示
(1)使用列表推導式生成1-10的所有偶數
data = [i for i in range(1, 11)if i %2 == 0)]
[2, 4, 6, 8, 10]
(2)使用列表推導式,生成1-10以內,如果是奇數,輸出“奇”,如果是偶數,則輸出"偶"
data = ['奇' if i%2==1 else '偶' for i in range(1, 11)]
# ['奇', '偶', '奇', '偶', '奇', '偶', '奇', '偶', '奇', '偶']