>>>> b = numpy.zeros(10**7, dtype=bool) >>>> for x in 3, 4, 6: b[10**x] = True > ... >>>> b.sum() > 3
Without numpy:
>>> counts = [bin(i).count('1') for i in range(256)]
>>> bytes = b"hello python"*100000
>>> len(bytes)*8
9600000
>>> sum(map(counts.__getitem__, bytes))
4800000
Pretty fast as well.
--
Arnaud
--
http://mail.python.org/mailman/listinfo/python-list
