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.

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 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.

• 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.

• 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.

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