Python – 检查矩阵行中相似的元素
当需要检查矩阵行中是否存在相似元素时,定义一个方法,该方法将矩阵作为参数。使用 map 方法将矩阵转换为元组。迭代矩阵值,如果频率大于 1,则将其显示在控制台上。
示例
以下是相同的演示
from collections import Counter def find_dupes(my_matrix): my_matrix = map(tuple,my_matrix) freq_dict = Counter(my_matrix) for (row,freq) in freq_dict.items(): if freq>1: print (row) my_matrix = [[1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [1, 0, 1, 1, 0, 0], [1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1]] print("The matrix is :") print(my_matrix) print("The result is :") find_dupes(my_matrix)
输出
The matrix is : [[1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [1, 0, 1, 1, 0, 0], [1, 1, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1], [0, 0, 1, 0, 0, 1]] The result is : (1, 1, 0, 1, 0, 1) (0, 0, 1, 0, 0, 1)
解释
导入所需的包。
定义一个名为“find_dupes”的方法,该方法将矩阵作为参数。
使用“map”方法将矩阵转换为元组。
使用 counter 方法获取矩阵中每个值的计数。
将其存储在字典中。
迭代字典项。
如果任何元素的频率大于 1,则将其显示在控制台上。
在方法外部,定义一个矩阵(技术上是一个列表的列表),并将其显示在控制台上。
通过传递所需的参数来调用该方法。
结果显示在控制台上。
广告