any modules having a function to partition a list by predicate provided?

Chris Rebert clp2 at rebertia.com
Tue Apr 20 03:16:13 CEST 2010


On Mon, Apr 19, 2010 at 6:00 PM, knifenomad <knifenomad at gmail.com> wrote:
> i know it's not very hard to get that solution.
> just by implementing simple function like below.
>
>      def partition(target, predicate):
>            """
>            split a list into two partitions with a predicate
> provided.
>            any better ideas? :)
>            """
>            true = []
>            false= []
>            for item in target:
>                if predicates(item):
>                    true.append(item)
>                else:
>                    false.append(item)
>            return true, false
>
> but i wonder if there's another way to do this with standard libraries
> or .. built-ins.
> if it's not, i'd like the list objects to have partition method like
> string module has.

(A) str.partition() has a /completely/ different meaning from your partition()
(B) You'd probably have better luck getting it added to the itertools
module since the concept is applicable to all iterables.
[http://docs.python.org/library/itertools.html]

Cheers,
Chris
--
http://blog.rebertia.com



More information about the Python-list mailing list