首页 > 编程语言 > 详细

Python列表生成式

时间:2015-11-15 00:48:49      阅读:322      评论:0      收藏:0      [点我收藏+]

转载至:http://blog.csdn.net/watermusicyes/article/details/43762551

在python中,列表生成式是一种可以便捷地生成列表的表达式。 有的时候可替代list.append()。

 

如果要生成[1*1 , 2*2 , 3*3 , ... , 10*10] 怎么做呢?可以使用循环:

>>> L= []
>>> for x in range(1 , 10):
...     L.append(x*x)
... 
>>> L
[1, 4, 9, 16, 25, 36, 49, 64, 81]

而列表生成式,可以用一句代替以上的繁琐循环来完成上面的操作:

>>> print [x*x for x in range(1 , 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> 

 

列表生成式的书写格式:[x*x for x in range(1 , 11)] 

第一:把要生成的元素 x*x 放到前面

第二:后面跟上for循环

这样就可以把list创建出来。

for循环后面还可以加上if判断,这样可以筛选出偶数的平方:

>>> [x*x for x in range(1 , 11) if x%2 == 0]
[4, 16, 36, 64, 100]
>>> 

 

当然,可以使用两层循环,生成全排列: 

>>> print [m + n for m in ‘ABCD‘ for n in ‘XYZ‘]
[‘AX‘, ‘AY‘, ‘AZ‘, ‘BX‘, ‘BY‘, ‘BZ‘, ‘CX‘, ‘CY‘, ‘CZ‘, ‘DX‘, ‘DY‘, ‘DZ‘]
>>> 

如何使用两个变量来生成list:

d = {‘Java‘:"99" , ‘C‘:"99" , ‘C++‘:"99" }
L = [k+‘=‘+v for k , v in d.iteritems()]

print L

  

 

 

 

 

  

Python列表生成式

原文:http://www.cnblogs.com/snapeliu/p/4965883.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!