Python交换字典键值对的四种方法实例

  • Post category:Python

当需要将一个Python字典的键和值交换时,我们可以使用以下四种方法:

方法一:使用循环迭代字典

使用循环迭代字典中的每一个键值对,将键和值互换并存储到一个新的字典中。

# 定义一个字典
my_dict = {'a': 1, 'b': 2, 'c': 3}

# 创建一个新的字典用于存储交换后的键值对
new_dict = {}

# 循环迭代字典中的每一个键值对
for key, value in my_dict.items():
    new_dict[value] = key

# 输出交换后的字典
print(new_dict)

输出:

{1: 'a', 2: 'b', 3: 'c'}

方法二:使用字典推导式

使用字典推导式,将原字典中的键值对互换生成一个新的字典。

# 定义一个字典
my_dict = {'a': 1, 'b': 2, 'c': 3}

# 使用字典推导式交换键值对
new_dict = {value:key for key, value in my_dict.items()}

# 输出交换后的字典
print(new_dict)

输出:

{1: 'a', 2: 'b', 3: 'c'}

方法三:使用zip函数

使用zip函数将原字典中的键值对互换,并将其转化为元组列表,最后通过dict函数将其转化为字典。

# 定义一个字典
my_dict = {'a': 1, 'b': 2, 'c': 3}

# 使用zip函数交换键值对并转为元组列表
my_list = [(value, key) for key, value in zip(my_dict.keys(), my_dict.values())]

# 将元组列表转化为字典
new_dict = dict(my_list)

# 输出交换后的字典
print(new_dict)

输出:

{1: 'a', 2: 'b', 3: 'c'}

方法四:使用dict函数和map函数

使用dict函数以及map函数来交换键值对,将原字典中的每一个键值对都通过map函数进行键值互换,最后调用dict函数将其转为字典。

# 定义一个字典
my_dict = {'a': 1, 'b': 2, 'c': 3}

# 使用dict函数和map函数交换键值对
new_dict = dict(map(reversed, my_dict.items()))

# 输出交换后的字典
print(new_dict)

输出:

{1: 'a', 2: 'b', 3: 'c'}

总之,在Python中交换字典的键值对是一件很简单的事情,以上四种方法可以供你选择。