MST
星途 面试题库

面试题:Python字典推导式高级难度题目

给定一个嵌套字典nested_dict = {'group1': {'a': 1, 'b': 2}, 'group2': {'c': 3, 'd': 4}},使用字典推导式将其转换为一个新字典,新字典的键为内部字典的键,值为内部字典对应的值的平方,即输出结果为 {'a': 1, 'b': 4, 'c': 9, 'd': 16}。请阐述在这个过程中,字典推导式相较于传统循环的优势体现在哪些方面。
48.0万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
nested_dict = {'group1': {'a': 1, 'b': 2}, 'group2': {'c': 3, 'd': 4}}
new_dict = {k: v**2 for sub_dict in nested_dict.values() for k, v in sub_dict.items()}
print(new_dict)

字典推导式相较于传统循环的优势体现在:

  • 代码简洁:字典推导式用一行代码就能完成需求,传统循环则需要更多的代码行数来实现同样功能,使代码更冗长。
  • 可读性好:字典推导式以紧凑的方式表达了创建新字典的逻辑,更直观地展示了从旧字典到新字典的转换过程,提高了代码的可读性。
  • 执行效率高:字典推导式在底层实现上进行了优化,通常执行速度比传统循环更快,尤其是在处理大规模数据时,效率优势更明显。