随笔 - 868  文章 - 1  评论 - 61 

python获取列表唯一值

http://blog.csdn.net/cunchi4221/article/details/107478606

python 获取唯一值

 

In this article, we will be understanding 3 ways to get unique values from a Python list. While dealing with a huge amount of raw data, we often come across situations wherein we need to fetch out the unique and non-repeated set of data from the raw input data-set.

在本文中,我们将了解从Python列表中获取唯一值的3种方法 。 在处理大量原始数据时,我们经常会遇到需要从原始输入数据集中获取唯一且未重复的数据集的情况。

The methods listed below will help you solve this problem. Let’s get right into it!

下面列出的方法将帮助您解决此问题。 让我们开始吧!

 
 


从Python列表中获取唯一值的方法 (Ways to Get Unique Values from a List in Python)

Either of the following ways can be used to get unique values from a list in Python:

以下两种方法均可用于从Python列表中获取唯一值

  • Python set() method

     

    Python set()方法
  • Using Python list.append() method along with a for loop

     

    使用Python list.append()方法和for循环
  • Using Python numpy.unique() method

     

    使用Python numpy.unique()方法


1. Python Set()从列表中获取唯一值 (1. Python Set() to Get Unique Values from a List)

As seen in our previous tutorial on Python Set, we know that Set stores a single copy of the duplicate values into it. This property of set can be used to get unique values from a list in Python.

如我们之前关于Python Set的教程中所见,我们知道Set将重复值的单个副本存储到其中。 set的此属性可用于从Python列表中获取唯一值。

  • Initially, we will need to convert the input list to set using the set() function.

     

    最初,我们需要使用set()函数将输入列表转换为set。

Syntax:

句法:

  1.  
     
  2.  
    set(input_list_name)
  • As the list gets converted to set, only a single copy of all the duplicate elements gets placed into it.

     

    当列表转换为set时,所有重复元素的仅一个副本将放入其中。
  • Then, we will have to convert the set back to the list using the below command/statement:

     

    然后,我们将必须使用以下命令/语句将集合转换回列表:

Syntax:

句法:

 
  1.  
     
  2.  
    list(set-name)
  • Finally, print the new list

     

    最后,打印新列表

Example:

例:

  1.  
     
  2.  
    list_inp = [100, 75, 100, 20, 75, 12, 75, 25]
  3.  
     
  4.  
    set_res = set(list_inp)
  5.  
    print("The unique elements of the input list using set():\n")
  6.  
    list_res = (list(set_res))
  7.  
     
  8.  
    for item in list_res:
  9.  
    print(item)

Output:

输出:

  1.  
     
  2.  
    The unique elements of the input list using set():
  3.  
     
  4.  
    25
  5.  
    75
  6.  
    100
  7.  
    20
  8.  
    12


2. Python list.append()和for循环 (2. Python list.append() and for loop)

In order to find the unique elements, we can apply a Python for loop along with list.append() function to achieve the same.

为了找到唯一的元素,我们可以将Python for循环list.append()函数一起使用以实现相同目的。

 
  • At first, we create a new (empty) list i.e res_list.

     

    首先,我们创建一个新的(空)列表,即res_list。
  • After this, using a for loop we check for the presence of a particular element in the new list created (res_list). If the element is not present, it gets added to the new list using the append() method.

     

    此后,使用for循环,我们检查所创建的新列表(res_list)中是否存在特定元素。 如果不存在该元素,则使用append()方法将其添加到新列表中。

Syntax:

句法:

  1.  
     
  2.  
    list.append(value)
  • In case, we come across an element while traversing that already exists in the new list i.e. a duplicate element, in such case it is neglected by the for loop. We will use the if statement to check whether it’s a unique element or a duplicate one.

     

    如果我们在遍历时遇到了一个在新列表中已经存在的元素,即重复元素,在这种情况下,它被for循环所忽略。 我们将使用if语句检查它是唯一元素还是重复元素。

Example:

例:

  1.  
     
  2.  
    list_inp = [100, 75, 100, 20, 75, 12, 75, 25]
  3.  
     
  4.  
    res_list = []
  5.  
     
  6.  
    for item in list_inp:
  7.  
    if item not in res_list:
  8.  
    res_list.append(item)
  9.  
     
  10.  
    print("Unique elements of the list using append():\n")
  11.  
    for item in res_list:
  12.  
    print(item)
  13.  
     

Output:

输出:

  1.  
     
  2.  
    Unique elements of the list using append():
  3.  
     
  4.  
    100
  5.  
    75
  6.  
    20
  7.  
    12
  8.  
    25

3. Python numpy.unique()函数创建包含唯一项的列表 (3. Python numpy.unique() function To Create a List with Unique Items)

Python NumPy module has a built-in function named, numpy.unique to fetch unique data items from a numpy array.

Python NumPy模块具有一个名为numpy.unique的内置函数,用于从numpy数组中获取唯一的数据项。

  • In order to get unique elements from a Python list, we will need to convert the list to NumPy array using the below command:

     

    为了从Python列表中获取唯一元素,我们需要使用以下命令将列表转换为NumPy数组:

Syntax:

句法:

  1.  
     
  2.  
    numpy.array(list-name)
  • Next, we will use the numpy.unique() method to fetch the unique data items from the numpy array

     

    接下来,我们将使用numpy.unique()方法从numpy数组中获取唯一数据项
  • and finally, we’ll print the resulting list.

     

    最后,我们将打印结果列表。

Syntax:

句法:

  1.  
     
  2.  
    numpy.unique(numpy-array-name)

Example:

例:

  1.  
     
  2.  
    import numpy as N
  3.  
    list_inp = [100, 75, 100, 20, 75, 12, 75, 25]
  4.  
     
  5.  
    res = N.array(list_inp)
  6.  
    unique_res = N.unique(res)
  7.  
    print("Unique elements of the list using numpy.unique():\n")
  8.  
    print(unique_res)
  9.  
     

Output:

输出:

  1.  
     
  2.  
    Unique elements of the list using numpy.unique():
  3.  
     
  4.  
    [12 20 25 75 100]


结论 (Conclusion)

In this article, we have unveiled various ways to fetch the unique values from a set of data items in a Python list.

在本文中,我们揭示了从Python列表中的一组数据项中获取唯一值的各种方法。

posted on 2020-10-29 19:47  一杯明月  阅读(106)  评论(0编辑  收藏