📜  Python|矩阵中的唯一值

📅  最后修改于: 2022-05-13 01:54:49.435000             🧑  作者: Mango

Python|矩阵中的唯一值

有时我们需要在列表中找到唯一值,这比较容易,前面已经讨论过了。但是我们也可以得到一个矩阵作为输入,即一个列表列表,在本文中讨论如何在其中找到唯一性。让我们看看可以实现这一目标的某些方法。

方法 #1:使用set() + 列表推导
set函数可用于将单个列表转换为非重复元素列表,列表推导用于迭代每个列表。

# Python3 code to demonstrate
# checking unique values in matrix
# set() + list comprehension
  
# initializing matrix 
test_matrix = [[1, 3, 1], [4, 5, 3], [1, 2, 4]]
  
# printing the original matrix
print ("The original matrix is : " + str(test_matrix))
  
# using set() + list comprehension
# for checking unique values in matrix
res = list(set(i for j in test_matrix for i in j))
  
# printing result
print ("Unique values in matrix are : " + str(res))
输出:
The original matrix is : [[1, 3, 1], [4, 5, 3], [1, 2, 4]]
Unique values in matrix are : [1, 2, 3, 4, 5]


方法#2:使用chain() + set()
chain函数执行与列表推导式执行的任务类似的任务,但速度更快,因为它使用迭代器进行内部处理,因此速度更快。

# Python3 code to demonstrate
# checking unique values in matrix
# chain() + set()
from itertools import chain
  
# initializing matrix 
test_matrix = [[1, 3, 1], [4, 5, 3], [1, 2, 4]]
  
# printing the original matrix
print ("The original matrix is : " + str(test_matrix))
  
# using chain() + set()
# for checking unique values in matrix
res = list(set(chain(*test_matrix)))
  
# printing result
print ("Unique values in matrix are : " + str(res))
输出:
The original matrix is : [[1, 3, 1], [4, 5, 3], [1, 2, 4]]
Unique values in matrix are : [1, 2, 3, 4, 5]