MST

星途 面试题库

面试题:Python中合并字典的常见方法及差异

在Python中,有多种方法可以合并字典,例如使用update()方法、字典解包等。请分别阐述这些方法,并说明它们在操作上有什么差异,例如对原字典的影响、返回值等。
36.8万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

使用update()方法

  • 操作阐述update()方法用于将一个字典的键值对更新到另一个字典中。如果被更新的字典中已存在相同的键,那么对应的值会被新字典中的值替换;如果不存在,则会添加新的键值对。
  • 对原字典的影响:会直接修改调用update()方法的原字典。
  • 返回值update()方法没有返回值(返回None)。

示例代码:

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
result = dict1.update(dict2)
print(dict1)  
print(result)  

使用字典解包

  • 操作阐述:通过在字典前使用**操作符,可以将字典解包。在创建新字典时,可以使用多个字典解包,将多个字典的键值对合并到一个新字典中。如果有重复的键,后面字典的键值对会覆盖前面字典的键值对。
  • 对原字典的影响:不会修改原字典,而是创建一个新的字典。
  • 返回值:返回一个新的合并后的字典。

示例代码:

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
new_dict = {**dict1, **dict2}
print(new_dict)  
print(dict1)  
print(dict2)  

操作差异总结

  • 对原字典影响update()方法会修改原字典,而字典解包不会修改原字典,而是生成新字典。
  • 返回值update()方法返回None,字典解包返回新的合并后的字典。