Python中的列表生成式和多层表达式
如何生成[1x1, 2x2, 3x3, ..., 10x10]的列表?
L=[];
for x in range(,):
L.append(x*x)
print L
print ("+++++++++并不漂亮分割线之论缩进的重要性++++++++++")
print L
其实有一种更简单的写法,比如,你看:
print [x*x for x in range(,)]
略需要注意的就是需要把x*x放到for的前面,那如何想要得到其是1到10内是偶数的平方列表呢。这个应该如何,怎么,how to 搞?其实也很简单,加个判断就好,依旧一句代码搞定,不信,你看:
print [x*x for x in range(1,11) if x%2==0]
上面说的是生成列表式,然后说一下多层表达式。
比如,请用一行代码打印出Smartisan和索尼旗舰产品的名称。
print [m+n for m in'TZ'for n in'']
最后写一个,找出对称的 3 位数。例如,101 就是对称数,百位数和个数是一样的。
print [*n1+*n2+n3 for n1 in range(,) for n2 in range() for n3 in range() if n1==n3]
似乎Python很简洁的样子。