Hi,

The list do contain edges, and  `eptm.cells.junctions` is a vertex PropertyMap with 'object' dtype, not a dictionary.

What makes debugging difficult, is that if I update the edge list just before I look for the edge, it is indeed found, it looks like it's kind of 'lost' between the time I create the edge list (at the initialization of the container class) and the time I try to remove the edge from the list. Very strange...

The same code base works fine with graph-tool version  2.2.28 (I had a machine not yet updated on which I can run the code for now).

I'll try to work out a minimal example demonstrating the issue.

Thanks,
Guillaume

Le 14/10/2014 08:59, Tiago de Paula Peixoto a écrit :
On 12.10.2014 16:19, Guillaume Gay wrote:
Here is maybe a code snippet demonstrating what I can't understand:

|>>> j_e = eptm.graph.edge(4747, 2693)

print('looking for: {}'.format(j_e))
looking for: (4747, 2693)
## List of edges we're looking in:''')
for e in eptm.cells.junctions[mother_cell]:
   print(e)
(4747, 2693) (4747, 2692) (980, 2693) (4989, 980) (4989, 4990) (4990, 2692)
print('\n Is {} in the list? {}'.format(
    j_e, j_e in eptm.cells.junctions[mother_cell]))
Is (4747, 2693) in the list? False|

Here, |eptm| and |eptm.cells| are just container classes, and |eptm.cells.junctions| is a dictionary with the graphs vertices as keys.
Well, I can't reproduce this:

      >>> l = [g.edge(76, 62)]
      >>> g.edge(76, 62) in l
      True

Are you sure your list contains Edge instances, and not tuples?

Unfortunately, without a self-contained example, I cannot investigate
further.

Best,
Tiago



_______________________________________________
graph-tool mailing list
graph-tool@skewed.de
http://lists.skewed.de/mailman/listinfo/graph-tool