Python列表去重的几种方法整理
在Python中,列表去重是一个常见的操作。本文将介绍Python列表去重的几种方法,包括使用set()函数使用列表推导式、使用字典、使用numpy库等方法。
使用set()
set()函数是Python中去重的常用方法。set()函数可以列表转换为集合,由于集合中的元素是唯一的,因此可以实现去重的效果。以下是一个示例代码演示如何使用set()函数去重:
lst = [1, 2, 3, 4, 3, 2, 1]
new_lst = list(set(lst))
print(new_lst)
在上面的示例代码中,我们首先定义一个包含重复元素的列表lst。然后,我们使用set()函数将lst转换为集,并使用list()函数将集合转换为列表new_lst。最后,我们输出new_lst,即去重后的列表。输出结果为:
[1, 2, 3, 4]
使用列表推导式
列表推导式是Python中快速生成列表的方法之一。我们可以使用列表推导式来去重。以下是一个示例代码,演示如何使用列表推导式去重:
lst = [1, 2, 3, 4, 3, 2, 1]
new_lst = []
[new_lst.append(i) for i in lst if i not in new_lst]
print(new_lst)
在上面的示例代码中,我们首先了一个包含重复元素的列表lst。然后,我们定义了一个空列表new_lst。接着,我们使用列表推导式遍历lst中的元素,如果该元素不在new_lst中,则将其添加到new_lst中。最后,我们输出new_lst,即去重后的列表。输出结果为:
[1, 2, 3, 4]
使用字典
我们也可以使用字典来去重。字典中的键是唯一的,因此可以实现去重的效果。以下是一个示例代码,演示如何使用字典去重:
lst = [1, 2, 3, 4, 3, 2, 1]
new_lst = list({}.fromkeys(lst).keys())
print_lst)
在上面的示例代码中,我们首先定义了一个包含重复元素的列表lst。然后,我们使用字典的fromkeys()方法将lst中的元素作为字典的键,并将其值为None。接着,我们使用keys()方法获取字典中的键,并使用list()函数将其转换为列表new_lst。最后,我们输出new,即去重后的列表。输出结果为:
[1, 2, 3, 4]
使用numpy库
我们也可以使用numpy库中的unique()函数来去重。unique()函数可以一个数组中的唯一元素。以下是一个示例代码,演示如何使用numpy库去重:
import numpy as np
lst = [1, 2, 3, 4, 3, 2, 1]
new_lst = np.unique(lst)
print(new_lst)
在上面的示例代码中,首先导入numpy库。然后,我们定义了一个包含重复元素的lst。接着,我们使用numpy库中的unique()函数获取lst中的唯一元素,并将其存储在new_lst中。最后,我们输出new_lst,即去重后的列表。输出结果为:
[1 2 3 4]
示例
以下是一个示例代码,演示如何使用列表推导式去重一个包含重复元素的字符串列表:
lst = ['apple', 'banana', 'orange', 'apple', 'banana']
new_lst = list(set(lst))
print(new_lst)
在上面的示例代码中,我们首先定义了一个包含重复元的字符串列表lst。然后,我们使用set()函数将lst转换为集合,并使用list()函数将集合转换为列表new_lst。最后,我们输出new_lst,即去重后的列表。输出结果为:
['orange', 'banana', 'apple']
总之,Python列表去重是一个常见的操作。本文介了Python列表去重的几种方法,包括使用set()函数、使用推导式、使用字典、使用numpy库等方法。需要根据具体的需求选择合适的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python列表去重的几种方法整理 - Python技术站