On 10.02.2017 16:26, gogurt wrote: > This might be a stupid question, but I have a graph with a vector<str>-valued > vertex property map. That is, each vertex has a vector containing one or > more strings encoding some metadata about the vertex. > > I want to get a single 1d-list/array containing all the unique string values > encoded in this property map, over all vertices in the graph. What's the > best way to do that?
The simplest way is usually the best way. The question above is not really
specific to graph-tool, if you think about it:
vals = set()
for v in g.vertices():
for x in prop[v]:
vals.add(x)
> I know that I'll have to use the get_2d_array() method on the property map,
> but I can't really understand what the documentation means when it says:
> "The parameter pos must be a sequence of integers which specifies the
> *indexes of the property values which will be used.*"
This does not give what you want at all.
This function is about getting a two-dimensional array representation of
vector-value property maps. The property map values can have different
lengths, and hence to construct a 2D array the function requires the
positions of the individual vectors that will be used to construct the matrix.
Best,
Tiago
--
Tiago de Paula Peixoto <[email protected]>
signature.asc
Description: OpenPGP digital signature
_______________________________________________ graph-tool mailing list [email protected] https://lists.skewed.de/mailman/listinfo/graph-tool
