そういえば、エラトステネスの篩を実装するときに使うような
フラグの配列の初期化ってPythonだとどう実装するのが一般的?

俺が思いついたのは、こんな感じ。
a = map(lambda x: x == '0', '0'*100)
a = [True for x in range(0, 100)]
a = []; a[:] = itertools.repeat(True, 100)

>>944
while a[x]*a[x] <= i: にしないと素数の2乗の値も入ってしまう。

ところで、このwhileの部分をifilter使ってforで書き直すと、えらい遅くなるね。
100000まで計算させてwhileだと0.18秒、ifilterだと13秒かかる。
ifilter使った方がPythonらしいコードだけど、この速度差は厳しいな。