一、列表推导式中的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]