Python中交换字典键值对的三种实现方式

闻溪
闻溪
发布时间:2026-10-13 | 6人浏览过
原创

本文介绍Python中交换字典键值对的三种常用方法。通过zip函数结合dict构造、传统for循环遍历以及列表生成式配合dict转换,分别实现键值反转。每种方法均附带完整代码示例,帮助开发者根据实际场景选择最优方案,适用于数据清洗与映射处理。

第一种方法利用内置的zip函数。首先定义一个初始字典,例如包含键'a'、'b'、'c'及其对应数值1、2、3。接着调用zip函数,将原字典的值作为新字典的键,原字典的键作为新字典的值。最后通过dict构造函数将zip对象转换为新的字典并打印输出。该方法简洁高效,运行结果将生成一个以原值作为键、原键作为值的字典,例如{1: 'a', 2: 'b', 3: 'c'}。具体实现代码见下方示例。

dic = {'a':1, 'b':2, 'c':3}
dic_new = dict(zip(dic.values(), dic.keys()))
print(dic_new)
# {1: 'a', 2: 'b', 3: 'c'}

第二种方法采用传统的for循环遍历。在定义好初始字典后,创建一个空字典用于存储结果。通过items()方法遍历原字典的每个键值对,在循环体内将原值赋给新字典的键,原键赋给新字典的值。遍历完成后打印新字典。这种方式逻辑直观,易于理解,适合对代码可读性要求较高的场景。最终输出结果同样为{1: 'a', 2: 'b', 3: 'c'}。相关代码实现如下。

dic = {'a':1, 'b':2, 'c':3}
dic_new = {}
for key, val in dic.items():
  dic_new[val] = key
print(dic_new)
# {1: 'a', 2: 'b', 3: 'c'}

第三种方法使用列表生成式结合dict构造函数。直接通过列表推导式遍历原字典的键值对,生成由[值, 键]组成的列表序列。随后将该序列传入dict构造函数,直接创建新的字典。这种方法代码更为紧凑,体现了Python的简洁风格。执行后打印新字典,结果依然保持为{1: 'a', 2: 'b', 3: 'c'}。具体代码示例如下。

dic_new = dict([val, key] for key, val in dic.items())
print(dic_new)
# {1: 'a', 2: 'b', 3: 'c'}

以上内容涵盖了Python中交换字典键值对的三种主要实现方式,包括使用zip函数、循环遍历以及列表生成式。这些方法各有特点,开发者可根据具体需求选择合适的方式。希望这些示例能对您的编程工作有所帮助,欢迎参考并支持本站获取更多技术内容。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表