python列表的快速操作

jopen 12年前

在C中修改容器中的每一个节点的内容我们的办法只有一个,就是遍历节点并对节点进行操作:

for (int i = 0; i < len; ++i) {      con[i] *= 2;  }

我们C++11一些(m是标准容器):

for (auto i : m) {     i *= 2;  }
或者

foreach(m.begin(), m.end(), [](x){x*=2}); 

很自然的在python中也会有人这样去写:

for i in m:      i = i * 2
如果你是pythoner还在这样去写,那就有些太说不过去了,你完全可以一句话来完成的

b = [x *2 for x in a]
列表在python中支持这样快速的生成方式,甚至于去通过条件判断来生成
c = [x * 2 for x in a if a != 2]

恩,这样就有点python味道了。

转自:http://blog.csdn.net/cnsword/article/details/7889190