Hi Tamas, > The following snippet gives you the edge indices of all the edges in the > graph > with multiplicity > 1: > > eids = [index for index, is_multiple in enumerate(graph.is_multiple()) if > is_multiple] >
There is a small catch here; you are generating a large number of eids, whereas in my attempt, I first filtered out the 'unique' edges, then among them I find those with 'multiple' counterparts. I assumed this is efficient for v.large graphs. Please correct me if I am wrong. Now, I am linking another thread here for a quick question. Can I replace the below code with your suggestion found in: http://lists.nongnu.org/archive/html/igraph-help/2015-03/msg00024.html? I am anyways using a list append operation, and your suggestion to use a combinator function looks elegant. >> for nm in nonmultedges: >> tempdict={} >> for name in nm.attribute_names(): >> tempdict[name]=[] >> for e in myg1.es.select(_within=[nm.source, nm.target]): >> if e.tuple == nm.tuple: >> for name, val in e.attributes().iteritems(): >> tempdict[name].append(val) >> else: >> print 'something wrong' >> print tempdict >> _______________________________________________ igraph-help mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/igraph-help
