Re: dropwhile question

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Fredrik Lundh

    Re: dropwhile question

    Rajanikanth Jammalamadaka wrote:
    >>>list(itertoo ls.dropwhile(la mbda x: x<5,range(10)) )
    [5, 6, 7, 8, 9]
    >
    Why doesn't this work?
    >
    >>>list(itertoo ls.dropwhile(la mbda x: 2<x<5,range(10) ))
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    it works exactly as specified:
    >>help(itertool s.dropwhile)
    Help on class dropwhile in module itertools:

    class dropwhile(__bui ltin__.object)
    | dropwhile(predi cate, iterable) --dropwhile object
    |
    | Drop items from the iterable while predicate(item) is true.
    | Afterwards, return every element until the iterable is exhausted.
    >>2<0<5
    False

    maybe you meant to use itertools.ifilt er?
    >>help(itertool s.ifilter)
    Help on class ifilter in module itertools:

    class ifilter(__built in__.object)
    | ifilter(functio n or None, sequence) --ifilter object
    |
    | Return those items of sequence for which function(item) is true.
    | If function is None, return the items that are true.
    >>list(itertool s.ifilter(lambd a x: x<5,range(10)) )
    [0, 1, 2, 3, 4]
    >>list(itertool s.ifilter(lambd a x: 2<x<5,range(10) ))
    [3, 4]

    </F>

Working...