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 (同微),不定期分享干货