I am trying to find the union of set of sets. Specifically I want the union of the list of nodes for each key in the dictionary of networkx
graphs called periodic_gs
. I would like to use the reduce
function as it seems reasonable to take the union of all periodic_gs[x].nodes()
where x
is a key of periodic_gs
.
Here is my attempt:
reduce(lambda x,y: set(periodic_gs[x].nodes()).union(set(periodic_gs[y].nodes())), periodic_gs.keys(), {})
To me, this says take the union of the nodes across each graph in the dictionary. For some reason, python tells me: TypeError: unhashable type: 'dict'
I do not see this TypeError
, because periodic_gs.keys()
is a list of the keys (they are strings but I do not see how this would matter), and when substituted in for the arguments to the lambda function will work.
What is causing the type error and how do I fix it?