python列表解析的新方法

python 列表解析我感觉是python非常灵活的一个地方,一开始接触它的时候,特别是之前学过其它的语言,
你会感觉很不习惯,怎么看怎么不对劲,老是觉的哪个地方怪怪的,这就是列表解析的魔力所在。

 

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

如果你对python列表或者python列表操作方法 有兴趣的话,可以看看!

作者:老王@python python教程
老王python,提供pythn相关的python教程和python下载,希望大家能够喜欢

posted @ 2010-06-05 21:37  老王python  阅读(2950)  评论(0编辑  收藏  举报