码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-08-29 20:09:20      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

技术分享

技术分享

 

 

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

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

技术分享

技术分享

 

 

略需要注意的就是需要把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 inTZfor n in123]

技术分享

技术分享

 

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

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

技术分享

技术分享

 

似乎Python很简洁的样子。

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

标签:

原文地址:http://www.cnblogs.com/anmutu/p/4769597.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!