Python   /   142

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

网络发现者(aiwei.us)是梁道科技旗下以企业建站,微信开发,视觉设计为主要服务项目的互联网品牌。

我们为企业提供各类互联网平台项目的咨询顾问服务。依靠丰富的互联网实践经验,我们为企业从项目可行性分析,执行策略及方案等方方面面提供合理化建议。