python - 如何安全地在 dict 中找到重复值?
问题描述
{
"50": [2110,1,94],
"51": [2105,1,95],
"52": [2105,1,85],
"53": [2105,1,95],
}
我想返回一个列表如下:
["51","53"]
解决方案
利用:
from collections import defaultdict
d = {
"50": [2110, 1, 94],
"51": [2105, 1, 95],
"52": [2105, 1, 85],
"53": [2105, 1, 95],
}
duplicates = defaultdict(list)
for key, values in d.items():
duplicates[tuple(values)].append(key)
res = [values for values in duplicates.values() if len(values) > 1]
print(res)
输出
[['51', '53']]
推荐阅读
- symfony - 如何在 Symfony 中持久化 OneToMany 关系数据?
- ios - 使用身体 Alamofire 发布请求
- php - Symfony 5.1 选择列表过滤
- javascript - Cognito - adminRespondToAuthChallenge 返回用户的无效会话
- python - 如何避免每天多次抓取网站时下载重复文件(pdf)?
- java - 如何在 Spring 中从组件调用配置中的 SFTP 出站网关操作
- powershell - 在 Powershell 中以自定义格式将数据导出到 CSV 文件
- stripe-payments - Stripe 支付意图是在确认之前还是之后搁置?
- flutter - 蓝牙串行接收消息时出现问题
- sql - 如何在 Redshift 中选择 x 和 y 之间的行