Sequence splitting
Brad
schickb at gmail.com
Fri Jul 3 02:31:18 EDT 2009
On Jul 2, 9:40 pm, "Pablo Torres N." <tn.pa... at gmail.com> wrote:
>
> If it is speed that we are after, it's my understanding that map and
> filter are faster than iterating with the for statement (and also
> faster than list comprehensions). So here is a rewrite:
>
> def split(seq, func=bool):
> t = filter(func, seq)
> f = filter(lambda x: not func(x), seq)
> return list(t), list(f)
>
In my simple tests, that takes 1.8x as long as the original solution.
Better than the itertools solution, when "func" is short and fast. I
think the solution here would worse if func was more complex.
Either way, what I am still wondering is if people would find a built-
in implementation useful?
-Brad
More information about the Python-list
mailing list