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,则将其显示在控制台上。

  • 在方法外部,定义一个矩阵(技术上是一个列表的列表),并将其显示在控制台上。

  • 通过传递所需的参数来调用该方法。

  • 结果显示在控制台上。

更新于:2021年9月16日

172 次浏览

开启您的职业生涯

完成课程获得认证

开始
广告