python:来自多个字典的联合键?

标签 python dictionary lambda reduce

我有 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/

相关文章:

c# - 如何为此创建扩展方法/lambda 函数

Python 值错误 : Pool not running in Async Multiprocessing

java - 字典:硬编码与外部文件

c# - 如何使用 Expression 使用 Where 和 OR 构建动态查询

c++ - 是否可以使用默认泛型参数在 C++ 中定义 lambda?

python - 在 Python 中使用对象作为字典中的键 - 哈希函数

python - 串行数据记录器,即时解析

python - 退出 root conda 环境

python - 如何设置QWidget背景颜色?

python - 检查带有数组的深层嵌套字典中的几乎等于(请阅读说明)