Aha - yeah. Sorry, using arrays works, but not lists. (important to know, though)


On 30 September 2013 19:11, Tiago de Paula Peixoto <tiago@skewed.de> wrote:
On 09/30/2013 07:09 PM, Rene Pfitzner wrote:
> Thanks Tiago!
>
> Let me just point out that the part
>
>   mask.a = g.degree_property_map("out").a > 4
>
> will (if you are using python 2.x) not give you what you most likely would like to have, namely a list of boolean values containing the results of the element wise comparisons of elements g.degree_property_map("out").a[i]>4. Instead, for some strange reason, you'll simply get the *value* True back, writing True to all elements in mask.a ... instead, it seems to me, the only (fastest) way to do it is to use map
>
>   mask.a = map(lambda(x): x > 4, g.degree_property_map("out").a)
>
> .... so be careful.

Are you sure?

I get the following with python 2 and numpy 1.7.1:

    In [4]: arange(10)
    Out[4]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

    In [5]: arange(10) > 2
    Out[5]: array([False, False, False,  True,  True,  True,  True,  True,  True,  True], dtype=bool)


Cheers,
Tiago

--
Tiago de Paula Peixoto <tiago@skewed.de>




--
René Pfitzner, Dipl. Phys.
Scientific assistant / Doctoral candidate

ETH Zürich
Chair of Systems Design

+41-44-63-28478
rpfitzner@ethz.ch
http://www.sg.ethz.ch/people/prene