美文网首页
Python字典相同值的键合并

Python字典相同值的键合并

作者: 还是那个没头脑 | 来源:发表于2019-08-23 17:52 被阅读0次

方法一:

from collections import defaultdict

a_dict = {'aa': {1, 2, 3, 5}, 'bb': {2, 3, 4, 5}, 'cc': {3, 4, 5}}
a_set = set()
result = defaultdict(set)
for k, v in a_dict.items():
    a_set = a_set | v
for i in a_set:
    dict_key = list()
    for key in a_dict:
        if i in a_dict[key]:
            dict_key.append(key)
    result['_'.join(sorted(dict_key))].add(i)
print(result)

方法二:

from functools import reduce

def intersect(x,y):
    return x | y

def search_relation(datas):
    dic_values = reduce(intersect, datas.values())
    data = {}
    for i in dic_values:
        dict_key = list()
        for k,v in datas.items():
            if i in v:
                dict_key.append(k)

        if '_'.join(dict_key) in data:
            data['_'.join(dict_key)].add(i)
        else:
            dict_value = set()
            dict_value.add(i)
            data['_'.join(dict_key)] = dict_value
    print(data)

if __name__ == '__main__':
    all_data = {'aa': {1, 2, 3, 5}, 'bb': {2, 3, 4, 5}, 'cc': {3, 4, 5}}
    search_relation(all_data)

相关文章

  • Python字典相同值的键合并

    方法一: 方法二:

  • Python学习手册 列表和字典

    字典构造技术 关于键值 字典合并,update盲目覆盖相同键,合并不同键 字典删除 用字典存储稀疏数据结构 字典处...

  • Python具有相同键的字典相加减

    虽说是相加减,其实就是合并字典。代码: 我们看到相加的时候是合并两个字典,相减的时候就是对相同键对应值的减法。

  • Python 个人笔记(2)

    《第六章》字典 使用字典在 Python 中,字典是一系列键-值对。 添加键-值对 修改字典中的值 删除键-值对 ...

  • 字典

    Python的字典 字典:在python中,字典是一系列键-值对。每个键都与一个值相关联,可以使用键来访问与之相关...

  • 类型和运算(四):字典

    类型:字典 python字典不是列表,它是一种映射。字典简单的将键映射到值,所以它是通过键来存储值的。字典没有顺序...

  • Swift3.0--字典(Dictionary)

    字典是无序的键值对集合 字典的键都是相同的类型,值也都是相同的类型。 字典的键key的类型必须是hashable的...

  • Swift-字典

    字典 字典是一种存储多个相同类型的值的容器。每个值(value)都关联唯一的键(key),键作为字典中的这个值数据...

  • Swift之集合类型 (Collection Types)(字典

    字典 字典是一种存储多个相同类型的值的容器。每个值(value)都关联唯一的键(key),键作为字典中的这个值数 ...

  • Swift Dictionary

    字典 字典是一种存储多个相同类型的值的容器。每个值(value)都关联唯一的键(key),键作为字典中的这个值数据...

网友评论

      本文标题:Python字典相同值的键合并

      本文链接:https://www.haomeiwen.com/subject/skntectx.html