通过添加值而非替换值更新一个字典。
我有很多像这样的字典:
dict1 = {1:[1,2,3],2:[2,3,4]}
dict2 = {2:[3,4,5],3:[4,5,6]}
我需要得到
dict = {1:[1,2,3],2:[2,3,4,3,4,5],3:[4,5,6]}
# ^
# | order is unimportant
有什么好的方法来实现这个吗?
6 个回答
1
在编程中,有时候我们需要让程序做一些特定的事情,比如在特定的条件下执行某段代码。这个过程就像给程序下达命令,让它按照我们的要求去行动。
比如说,如果你想让程序在某个条件成立时才执行某段代码,你可以使用“如果”语句。这就像是在说:“如果发生了某件事,那么就去做另一件事。”这样可以让程序更加灵活,能够根据不同的情况做出不同的反应。
还有一种情况是,当你需要重复执行某段代码时,可以使用“循环”。想象一下,你在做一件事情,比如数数,你会一直数下去,直到达到某个数字。循环就是让程序重复执行某段代码,直到满足某个条件为止。
总之,编程就像是在和计算机沟通,我们通过一些简单的指令,让它按照我们的想法去工作。理解这些基本概念后,你就能更好地控制程序的行为了。
dict1 = {1:[1,2,3],2:[2,3,4]}
dict2 = {2:[3,4,5],3:[4,5,6]}
dicts = [dict1, dict2]
new_dict = {}
for d in dicts:
for k, v in d.iteritems():
if new_dict.has_key(k):
new_dict[k] = new_dict[k] + v
else:
new_dict[k] = v
1
遍历dict2里的每一个键;如果在dict1中也找到了相同的键,就把两个列表合并在一起,然后放到dict1里;如果没有找到相同的键,就直接把这个键放到dict1里。
7
简单地遍历一个扩展的列表...
for key, value in dict2.iteritems():
dict1.setdefault(key, []).extend(value)