Python中的列表生成式和多层表达式

Python中的列表生成式和多层表达式

如何生成[1x1, 2x2, 3x3, ..., 10x10]的列表?

 L=[];
for x in range(,):
L.append(x*x)
print L
print ("+++++++++并不漂亮分割线之论缩进的重要性++++++++++")
print L

Python中的列表生成式和多层表达式

Python中的列表生成式和多层表达式

其实有一种更简单的写法,比如,你看:

print [x*x for x in range(,)]

Python中的列表生成式和多层表达式

Python中的列表生成式和多层表达式

略需要注意的就是需要把x*x放到for的前面,那如何想要得到其是1到10内是偶数的平方列表呢。这个应该如何,怎么,how to 搞?其实也很简单,加个判断就好,依旧一句代码搞定,不信,你看:

print [x*x for x in range(1,11) if x%2==0]

 Python中的列表生成式和多层表达式

Python中的列表生成式和多层表达式

上面说的是生成列表式,然后说一下多层表达式。

比如,请用一行代码打印出Smartisan和索尼旗舰产品的名称。

print [m+n for m in'TZ'for n in'']

Python中的列表生成式和多层表达式

Python中的列表生成式和多层表达式

最后写一个,找出对称的 3 位数。例如,101 就是对称数,百位数和个数是一样的。

print [*n1+*n2+n3 for n1 in range(,) for n2 in range() for n3 in range() if n1==n3]

Python中的列表生成式和多层表达式

Python中的列表生成式和多层表达式

似乎Python很简洁的样子。

上一篇:


下一篇:try-catch和throw,throws的区别和联系