Python列表解析的方法


Python #列表解析2012-11-21 09:23
python列表解析属于python的迭代中的一种,相比python for循环速度会快很多。下面看下python列表解析
是怎么工作的。
example:
a = [x+2 for x in range(10)]
print a
输出的结果:
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]


下面说下上面这个例子的执行过程:
python会在解释器里对range(10)进行迭代,依次把列表里的内容取出来,赋值给最左边的x,然后执行x+2的操作,
并且把执行好的结果保存在列表里。等range(10)迭代完以后就新生成了一个列表,结果就是[2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
从上面可以看出,这也是建立python 列表的一个方法。


上面的例子如果用python for 循环来实现,那会是什么样的呢?
a = []
for i in range(10):
a.append(i+2)


print a


输出的结果:
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]


从上面可以看的出来,python列表解析比python for循环解析列表的代码量会更少,解析速度会更快,写起来也更酷,自己单独写
脚本的话,会非常的简便,但是它也有不足之处,它的可读性不太好,特别是在团队开发的话,适当的还是少用点,这样通用性比较好,对大家也有好处。

相关文章

粤ICP备11097351号-1