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 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.