欢迎访问宙启技术站
智能推送

Python中的列表去重函数示例

发布时间:2023-06-30 13:48:31

在Python中,有多种方法可以对列表进行去重操作。下面将为您介绍几种常见的方法和示例。

方法一:使用set()函数去重

可以使用set()函数将列表转换为集合,由于集合的特性是元素不重复且无序的,将列表转换为集合后再转换回列表即可实现去重操作。

def deduplicate_list(lst):
    return list(set(lst))

示例:

lst = [1, 2, 3, 3, 4, 4, 5]
dedup_lst = deduplicate_list(lst)
print(dedup_lst)
# 输出:[1, 2, 3, 4, 5]

方法二:使用列表推导式去重

使用列表推导式也可以实现对列表的去重操作。通过循环遍历列表,将不重复的元素添加到新的列表中。

def deduplicate_list(lst):
    return [x for i, x in enumerate(lst) if x not in lst[:i]]

示例:

lst = [1, 2, 3, 3, 4, 4, 5]
dedup_lst = deduplicate_list(lst)
print(dedup_lst)
# 输出:[1, 2, 3, 4, 5]

方法三:使用字典键 性去重

字典的键是 的,可以利用这个特性来去重。通过将列表中的元素作为字典的键,将其值设置为1,再将字典的键转换为列表即可。

def deduplicate_list(lst):
    return list(dict.fromkeys(lst))

示例:

lst = [1, 2, 3, 3, 4, 4, 5]
dedup_lst = deduplicate_list(lst)
print(dedup_lst)
# 输出:[1, 2, 3, 4, 5]

方法四:使用循环遍历去重

使用循环遍历的方法也可以实现对列表的去重操作。通过创建一个新的空列表,遍历原列表的元素,将不重复的元素添加到新列表中。

def deduplicate_list(lst):
    dedup_lst = []
    for i in lst:
        if i not in dedup_lst:
            dedup_lst.append(i)
    return dedup_lst

示例:

lst = [1, 2, 3, 3, 4, 4, 5]
dedup_lst = deduplicate_list(lst)
print(dedup_lst)
# 输出:[1, 2, 3, 4, 5]

以上就是几种常见的在Python中对列表进行去重的方法和示例。您可以根据自己的实际需求选择适合的方法进行使用。