python中对list去重的多种方法

  • Post category:Python

在Python中,对于一个列表(List)中的元素,可能会存在重复的情况。为了去除列表中的重复元素,可以使用多种方法。本文将详细讲解Python中对List去重的多种方法,包括使用set()函数、使用列表推式、使用字典等方法。

方法一:使用set()函数

set()函数是Python中的一个内置函数,可以用于创建一个无序不重元素集,可以用于去除列表中的重复元素。例如:

my_list = [1, 2, 3, 2, 1, 4, 5, 4, 6]

# 使用set()函数去重
new_list = list(set(my_list))

# 输出去重后的列表
print(new_list)  # 输出: [1, 2, 3, 4, 5, 6]

方法二:使用列表推导式

列表推导式是Python中的一种快速创建列表的方法,可以用于去除列表中的重复元素。例如:

my_list = [1, 2, 3, 2, 1, 4, 5, 4, 6]

# 使用列表推导式去重
new_list = [x for i, x in enumerate(my_list) if x not in my_list[:i]]

# 输出去重后的列表
print(new_list)  # 输出: [1, 2, 3, 4, 5, 6]

方法三:使用字典

字典是Python中的一种数据类型,可以用于存储键值对。可以使用字典的键来去除列表中的重复元素。例如:

my_list = [1, 2, 3, 2, 1, 4, 5, 4, 6]

# 使用字典去重
new_list = list({}.fromkeys(my_list).keys())

# 输出去重后的列表
print(new_list)  # 输出: [1, 2, 3, 4, 5, 6]

示例一:使用set()函数去重字符串列表

my_list = ['apple', 'banana', 'orange', 'apple', 'pear', 'banana']

# 使用set()函数去重
new_list = list(set(my_list))

# 输出去重后的列表
print(new_list)  # 输出: ['orange', 'banana', 'pear', 'apple']

示例二:使用列表推导式去重包字典的列表

my_list = [{'name': 'Tom', 'age': 18}, {'name': 'Lucy', 'age': 19}, {'name': 'Tom', 'age': 18}]

# 使用列表推导式去重
new_list = [dict(t) for t in settuple(d.items()) for d in my_list])]

# 输出去重后的列表
print(new_list)  # 输出: [{'name': 'Lucy', 'age': 19}, {'name': 'Tom', 'age': 18}]

以上是Python中对List去重的多种方法的详细讲解和示例说明。希望对您有所帮助!