[graph-tool] Getting all unique values in a vector-valued vertex property map
Tiago de Paula Peixoto
tiago at skewed.de
Sat Feb 11 20:14:41 CET 2017
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 <tiago at skewed.de>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.skewed.de/pipermail/graph-tool/attachments/20170211/fe0c68b0/attachment.asc>
More information about the graph-tool
mailing list