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 set() method
- Using Python list.append() method along with a for loop
- Using Python numpy.unique() method
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.
Syntax:
句法:
-
-
set(input_list_name)
- As the list gets converted to set, only a single copy of all the duplicate elements gets placed into it.
- Then, we will have to convert the set back to the list using the below command/statement:
Syntax:
句法:
-
-
list(set-name)
- Finally, print the new list
Example:
例:
-
-
list_inp = [100, 75, 100, 20, 75, 12, 75, 25]
-
-
set_res = set(list_inp)
-
print("The unique elements of the input list using set(): ")
-
list_res = (list(set_res))
-
-
for item in list_res:
-
print(item)
Output:
输出:
-
-
The unique elements of the input list using set():
-
-
25
-
75
-
100
-
20
-
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.
- 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.
Syntax:
句法:
-
-
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.
Example:
例:
-
-
list_inp = [100, 75, 100, 20, 75, 12, 75, 25]
-
-
res_list = []
-
-
for item in list_inp:
-
if item not in res_list:
-
res_list.append(item)
-
-
print("Unique elements of the list using append(): ")
-
for item in res_list:
-
print(item)
-
Output:
输出:
-
-
Unique elements of the list using append():
-
-
100
-
75
-
20
-
12
-
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:
Syntax:
句法:
-
-
numpy.array(list-name)
- Next, we will use the numpy.unique() method to fetch the unique data items from the numpy array
- and finally, we’ll print the resulting list.
Syntax:
句法:
-
-
numpy.unique(numpy-array-name)
Example:
例:
-
-
import numpy as N
-
list_inp = [100, 75, 100, 20, 75, 12, 75, 25]
-
-
res = N.array(list_inp)
-
unique_res = N.unique(res)
-
print("Unique elements of the list using numpy.unique(): ")
-
print(unique_res)
-
Output:
输出:
-
-
Unique elements of the list using numpy.unique():
-
-
[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列表中的一组数据项中获取唯一值的各种方法。