📜  在字典python中交换键和值(1)

📅  最后修改于: 2023-12-03 15:37:41.675000             🧑  作者: Mango

在字典Python中交换键和值

在Python中,有时候需要在字典中交换键和值的位置,这个操作非常常见且有用。以下是如何在Python中实现这个操作的几种方式。

1. 使用字典推导式

可以使用字典推导式来实现键值对的交换。该方法通过遍历原始字典并用其值作为新字典的键,其键作为新字典的值来构建新字典:

my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
new_dict = {value: key for key, value in my_dict.items()}
print(new_dict)

输出结果为:

{1: 'apple', 2: 'banana', 3: 'orange'}
2. 使用zip函数

可以通过 zip 函数在键和值之间互换位置,并创建新的字典。这个方法需要注意的是,如果原字典中有重复的值,则在新字典中只会保留一个:

my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
new_dict = dict(zip(my_dict.values(), my_dict.keys()))
print(new_dict)

输出结果为:

{1: 'apple', 2: 'banana', 3: 'orange'}
3. 使用dict函数

除了以上两种方法外,Python中内置的dict函数也可以完成这个操作。可以通过将原字典的items()迭代器传递到dict()函数中来交换键值对。

my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
new_dict = dict((value, key) for key, value in my_dict.items())
print(new_dict)

输出结果为:

{1: 'apple', 2: 'banana', 3: 'orange'}

无论使用哪个方法,上述代码都会在控制台输出相同的结果。如果您需要在Python中交换字典的键和值,则可以使用这三种方法中的任何一种。