pythonリストの高速操作

674 ワード

Cでコンテナ内の各ノードの内容を変更するには、ノードを巡り、ノードを操作する方法が1つしかありません.
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の味がします.