从Python列表中获取唯一值

python中的列表是[]中放置的许多项目,这些项目可能具有或可能不具有相同的数据类型。它还可以包含重复项。在本文中,我们将看到如何仅从列表中提取唯一值。

append()

在这种方法中,我们将首先创建一个新的空列表,然后仅在此新列表中不存在元素时才继续将元素追加到该新列表中。使用for循环和不使用条件。它检查传入元素的存在,并且仅在不存在时才附加它。

示例

def catch_unique(list_in):
   # intilize an empty list
   unq_list = []

   # Check for elements
   for x in list_in:
      # check if exists in unq_list
      if x not in unq_list:
         unq_list.append(x)
         # print list
   for x in unq_list:
      print(x)

Alist = ['Mon', 'Tue', 'Mon', 'wed', 40, 40]
print("Unique values from the list is")
catch_unique(Alist)

输出结果

运行上面的代码给我们以下结果-

Unique values from the list is
Mon
Tue
wed
40

带套

一组仅包含唯一值。在这种方法中,我们将列表转换为集合,然后将集合转换回包含所有唯一元素的列表。

示例

Alist = ['Mon', 'Tue', 'Mon', 'wed', 40, 40]
A_set = set(Alist)
New_List=list(A_set)
print("Unique values from the list is")
print(New_List)

输出结果

运行上面的代码给我们以下结果-

Unique values from the list is
[40, 'Tue', 'wed', 'Mon']

使用numpy

numpy库有一个名为unique的函数,可以直接将列表作为输入,并将unique元素作为新列表来完成。

示例

import numpy as np

Alist = ['Mon', 'Tue', 'Mon', 'wed', 40, 40]
print("The unique values from list is: ")
print(np.unique(Alist))

输出结果

运行上面的代码给我们以下结果-

The unique values from list is:
['40' 'Mon' 'Tue' 'wed']