python - 如何在不包括已经见过的键的情况下返回字典列表中不同键的长度?
问题描述
self.dl = ({'a':1, 'b': 2, 'c': 3}, {'c':13, 'd':14, 'e':15}, {'e':25, 'f':26, 'g':27})
我有这个字典元组,并试图获取所有不同键的计数。我只能这样做,以便计算所有键。这里的输出应该是 7 但我得到 9 因为 c 和 e 被计算了两次。
到目前为止我有这个:
new = []
for d in self.dl:
for k in d:
new.append(k)
return len(new)
解决方案
from operator import or_ as union
from functools import reduce
len(reduce(union, map(dict.keys, self.dl)))
已经返回的视图keys()
就像一个集合。因此,如果您or_
从您的 dicts 中获取所有键集的并集 ( ),您将获得所有键的集合。该集合的长度是唯一键的数量。
推荐阅读
- r - stat_pareto 图中 y 轴值的不同比例
- laravel - Laravel Backpack Crud 搜索加密数据字段
- ios - 苹果内购:latest_receipt_info 数据排序/排序
- c# - 将索赔与当前请求进行比较的授权
- javascript - 如何使用 jquery 隐藏 li?隐藏()不工作
- microsoft-graph-api - 通过 Microsoft Graph 控制 Microsoft Teams 房间
- mongodb - MongoDB URI 配置
- sql - 基于日期的列比率
- html - 如何防止删除 contenteditable 跨度?
- python - Python 在文件中搜索精确的字符串