早就听过“人生苦短,我用Python”这句名言了,然而今天才真正地体会到这句话。
Python确实是一门表达能力十分强大的语言,列表推导式就是其表达能力强大的一个体现。
列表推导式的语法如下:
[expression for expression1 in sequence1 for expression2 in sequence2 ... for expressionK in sequenceK if condition]
举例如下:
用列表推导式得到一个斜边小于30的勾股数列表,比如(3,4,5),(5,12,13)
接下来就让我们来看看如何用一行代码得到所有的水仙花数:
sxh = [x*100+y*10+z for x in range(1,10) for y in range(10) for z in range(10) if(x**3+y**3+z**3==(x*100+y*10+z))]
print(sxh)
运行代码查看结果如下:
答案正确。