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