2024-04-20 04:23:16 发布
网友
有没有办法在不盲目重写同一个键的值的情况下更新()一个字典? 例如,我希望在我的策略中,如果找到同一个键,则为其添加值;如果找不到键,则进行连接。在
d1 = {'eggs':3, 'ham':2, 'toast':1} d2 = {'eggs':2,'ham':1} dresult = d1.myUpdate(d2) print dresult {'eggs':5,'ham':3,'toast':1}
您可以为此使用Counter(在python 2.7中引入):
from collections import Counter d1 = {'eggs':3, 'ham':2, 'toast':1} d2 = {'eggs':2,'ham':1} dresult = Counter(d1) + Counter(d2) #Counter({'eggs': 5, 'ham': 3, 'toast': 1})
如果您需要一个适用于python2.5+的版本,defaultdict也可以工作(尽管不是很好):
defaultdict
尽管你可以达到一个相当于Python的水平。?结果使用字典的setdefault方法。。。在
setdefault
使用计数器:
from collections import Counter d1 = Counter({'eggs':3, 'ham':2, 'toast':1}) d2 = Counter({'eggs':2,'ham':1}) print d1 + d2
您可以为此使用Counter(在python 2.7中引入):
如果您需要一个适用于python2.5+的版本,
^{pr2}$defaultdict
也可以工作(尽管不是很好):尽管你可以达到一个相当于Python的水平。?结果使用字典的
setdefault
方法。。。在使用计数器:
相关问题 更多 >
编程相关推荐