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

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 怎样采集或者其它途径拿到全国最新个体工商户数据
  • ¥20 我是一名大学生,想学习java是自学还是报培训班呢
  • ¥15 pycharm该如何爬取网易云歌曲下的评论?
  • ¥15 java调用sap webservice问题
  • ¥20 如何完全复现何恺明resnet论文里的结果,有代码吗,获得论文中的结果(如下图)
  • ¥15 mysql如果表行行数小于1000条还需要分区吗
  • ¥20 有关matlab自定义特殊算符的问题
  • ¥15 第15届蓝桥杯选拔赛斗鱼养殖场
  • ¥15 在vivado的FIFO使用中,FIFO有没有提供可以输出内部存储空间状态的端口?
  • ¥15 C++ QT内存数据匹配对比指导