一、列表推導式中的if-else:
1、只有一個if
[x for x in data if condition]
2、只有一個if-else
[exp1 if condition else exp2 for x in data]
3、多層if-else
a=['零' if i==0 else '三' if i==3 else '五' if i==5 else i for i in range(10) ]
print(a)
對應的傳統代碼如下:
for i in range(10):
if i==0:
print('零')
else:
if i==3:
print('三')
else:
if i==5:
print('五')
else:
print(i)
二、列表推導式中的多層for循環:
[exp1 if condition else exp2 for x in list1 for y in list2 for z in list3]