2

我有这个代码:

new = {'a': 1, 'b': 2}
old = {'a': 1, 'c': 3}
added = new.keys() - old.keys()
if added:
  print('{} keys have been added'.format(len(added)))
removed = old.keys() - new.keys()
if removed:
  print('{} keys have been removed'.format(len(removed)))
# added, removed = minus_dict(new, old)

我必须做两次减法运算。minus_dict 函数是否存在?我的意思是如何以更有效的方式找到添加和删除?

4

1 回答 1

3

如果单个集合就足够了,则使用 XOR 运算符:

>>> old.keys() ^ new.keys()
{'c', 'b'}

如果这还不够好,你将不得不做两次减法,或者自己编写一个算法。

于 2013-07-31T09:32:53.627 回答