python字典的并交集

Python014

python字典的并交集,第1张

没看太懂,如果只是对key值求交集和并集,下面这个程序就好了,不是的话,说清楚

def union_intersection(d1,d2,mark):

"""

@attention: 这个是只对Key值做的

"""

temp = []

if mark == "union":

temp = list(set(d1.keys()+d2.keys()))

else:

temp = list(set(d1.keys())&set(d2.keys()))

tempdict = {}

for item in temp:

tempdict.setdefault(item,None)

return tempdict

if __name__ == '__main__':

d1 = {1:'a', 2:'b', 3:'c'}

d2 = {2:'2', 3:'3', 4:'4'}

print union_intersection( d1, d2, 'union' )

print union_intersection( d1, d2, 'intersection' )

在数据处理过程中经常遇到求两个字典相加(并集),要求相同的键,值相加,不同的键,进行汇集,最后得出一个总的字典,自己可以先进行思考,利用已有的知识,是否马上在心里有解决方法

例如:

d1={'a':1,'b':1}

d2={'b':2,'c':2}

要求的结果:d1+d2={'a':1,'b':3,'c':2}

下面介绍两种方法:

案例:

利用 collections 库里面的 Counter 函数进行计数,collections模块是一个很强大的模块,里面有各种扩展的变量容器,如果感兴趣的话可以参考这篇文章 Python-collections模块 ,里面有详细的使用方法

以上是自己实践中遇到的一些问题,分享出来供大家参考学习,欢迎关注 DataShare (同微),不定期分享干货