我有 5 个字典,我想要它们的键的联合。
alldict = [dict1, dict2, dict3, dict4, dict5]
我试过了
allkey = reduce(lambda x, y: set(x.keys()).union(y.keys()), alldict)
但它给了我一个错误
AttributeError: 'set' object has no attribute 'keys'
我做错了吗?我使用普通的 forloop 但我想知道为什么上面的代码不起作用。
最佳答案
我认为@chuck 已经回答了为什么它不起作用的问题,但更简单的方法是记住 union
方法可以接受多个参数:
allkey = set().union(*alldict)
在没有任何循环或 lambda 的情况下做你想做的事。
关于python:来自多个字典的联合键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5242311/