panghuahua2017 2022-05-07 18:32 采纳率: 57.1%
浏览 1068
已结题

python 查找字典里有相同值value的键key


dic = {10: False, 
       11: 8, 
       12: 7, 
       7: False, 
       8: 6, 
       9: 6, 
       4: False, 
       5: 6, 
       6: 7, 
       1: False, 
       2: 13, 
       3: 5}

想要找到dic里有相同值(不包含False)的键,
范例中找到的应该是:
key:8、9、5,因为他们的值都是6;
key:12、6,因为他们的值都是7。
字典的键都是固定的1-12,值不是固定的,该怎么操作呢?

  • 写回答

4条回答 默认 最新

  • hyh123a 全栈领域新星创作者 2022-05-07 18:36
    关注

    代码如下:

    dic = {10: False,
           11: 8,
           12: 7,
           7: False,
           8: 6,
           9: 6,
           4: False,
           5: 6,
           6: 7,
           1: False,
           2: 13,
           3: 5}
    
    
    result = []
    _dict = {}
    for key, value in dic.items():
        if not value:
            continue
        if value not in _dict.keys():
            _dict[value] = []
        _dict[value].append(key)
    
    for key, value in _dict.items():
        if len(value) > 1:
            _str = ",".join([str(x) for x in value])
            print("dic里有相同值(不包含False)的值{key}的键为:{values}".format(key=key, values=_str))
    
    

    输出为

    dic里有相同值(不包含False)的值7的键为:12,6
    dic里有相同值(不包含False)的值6的键为:8,9,5
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月16日
  • 已采纳回答 5月8日
  • 创建了问题 5月7日

悬赏问题

  • ¥15 如何对TBSS的结果进行统计学的分析已完成置换检验,如何在最终的TBSS输出结果提取除具体值及如何做进一步相关性分析
  • ¥15 SQL数据库操作问题
  • ¥100 关于lm339比较电路出现的问题
  • ¥15 Matlab安装yalmip和cplex功能安装失败
  • ¥15 加装宝马安卓中控改变开机画面
  • ¥15 STK安装问题问问大家,这种情况应该怎么办
  • ¥15 关于罗技鼠标宏lua文件的问题
  • ¥15 halcon ocr mlp 识别问题
  • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线
  • ¥20 无法创建新的堆栈防护界面