我遇到了有关列表理解的问题。
num1 = [5,10,15]
num2 = [i**2 if i == 10 else i-5 if i < 7 else i+5 for i in num1]
为什么num2
是num2 = [0,100,20]
?
结果如何得到?
答案 0 :(得分:1)
阅读为:
num2 = [i**2 if i == 10
else i-5 if i < 7
else i+5
for i in num1]
答案 1 :(得分:1)
此列表理解完全等同于:
num2 = []
for i in num1:
if i == 10:
num2.append(i**2)
else:
if i < 7:
num2.append(i-5)
else:
num2.append(i+5)