我正在尝试找到一组集合的并集。具体来说,我想要字典 periodic_gs
中每个键对应的 networkx
图中节点列表的并集。我希望使用 reduce
函数,因为它似乎可以合理地将所有 periodic_gs[x].nodes()
(其中 x
是 periodic_gs
的键)的并集进行聚合。
以下是我的尝试:
reduce(lambda x,y: set(periodic_gs[x].nodes()).union(set(periodic_gs[y].nodes())), periodic_gs.keys(), {})
对我来说,这意味着在字典中跨每个图形取节点的并集。由于某种原因,Python告诉我:TypeError: unhashable type: 'dict'
。我没有看到这个TypeError
,因为periodic_gs.keys()
是键列表(它们是字符串,但我不知道这会有什么影响),当替换成lambda函数的参数时会起作用。
是什么导致了类型错误,我该如何修复它?