📜  Python – 删除字典值中的重复值(1)

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

Python – 删除字典值中的重复值

在Python中,字典是非常常用的数据结构。字典由键值对(key-value pairs)组成,每个键(key)都是唯一的,而值(value)可以重复。

有时候我们会有这样的需求,即需要在字典中删除重复的值。本文将介绍一种简洁的方法,来删除字典值中的重复值。

方法一:使用集合(set)和字典推导式

我们可以使用集合和字典推导式来删除字典中的重复值。以下是完整的代码示例:

# 原始字典
original_dict = {"a": 1, "b": 2, "c": 3, "d": 2, "e": 1}

# 使用集合和字典推导式删除重复值
unique_dict = {value: key for key, value in original_dict.items()}

# 打印删除重复值后的字典
print(unique_dict)

输出结果为:

{1: 'e', 2: 'd', 3: 'c'}

在上述代码中,我们首先定义了一个原始字典original_dict,其中包含了一些重复的值。然后,我们使用字典推导式{value: key for key, value in original_dict.items()}来创建一个新的字典unique_dict,其中键和值交换了位置,并且重复的值被自动删除了。

方法二:使用集合(set)和循环

除了使用字典推导式,我们还可以使用集合和循环来删除字典中的重复值。以下是完整的代码示例:

# 原始字典
original_dict = {"a": 1, "b": 2, "c": 3, "d": 2, "e": 1}

# 使用集合和循环删除重复值
unique_dict = {}
seen_values = set()

for key, value in original_dict.items():
    if value not in seen_values:
        unique_dict[key] = value
        seen_values.add(value)

# 打印删除重复值后的字典
print(unique_dict)

输出结果与方法一相同:

{1: 'e', 2: 'd', 3: 'c'}

在上述代码中,我们创建了一个空字典unique_dict和一个空集合seen_values。然后,我们遍历原始字典original_dict的键值对,并检查当前值是否已经出现过。如果值没有在seen_values中出现过,我们将其添加到unique_dict中,并将值添加到seen_values中。这样就实现了删除重复值的效果。

无论使用方法一还是方法二,都可以高效地删除字典值中的重复值。选择哪种方法取决于个人偏好和代码上下文。希望这篇介绍对你有所帮助!