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

segunai osk.iru at gmail.com
Mon Apr 19 21:40:26 EDT 2010


On 4월20일, 오전10시16분, Chris Rebert <c... at rebertia.com> wrote:
> On Mon, Apr 19, 2010 at 6:00 PM, knifenomad <knifeno... 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

yep, my mistake. i shouldn't have compared it to string's partition().
i just wanted that convenience string.partition() has as a built-in.
anyway, thanks for itertools. :)



More information about the Python-list mailing list