Python是一種非常強大的編程語言,它有很多好用的庫,在文本處理方面也不例外。矩陣找單詞是其中一種經典問題,也是Python庫應用之一。下面我們來看看如何使用Python解決這個問題。
# 要查找的單詞列表 word_list = ["hello", "world", "python"] # 要查找的矩陣 matrix = [['h', 'e', 'l', 'l', 'o'], ['w', 'o', 'r', 'l', 'd'], ['p', 'y', 't', 'h', 'o'], ['n', 'j', 'k', 'l', 'm']] # 定義八個方向,用于搜索 directions = [(0, 1), (1, 0), (0, -1), (-1, 0), (1, 1), (1, -1), (-1, 1), (-1, -1)] # 定義函數,用于搜索矩陣中的單詞 def search(word, row, col): # 如果單詞長度為0,直接返回成功 if len(word) == 0: return True # 檢查當前位置是否合法,是否與單詞首字母相同 if row< 0 or col< 0 or row >= len(matrix) or col >= len(matrix[0]) or matrix[row][col] != word[0]: return False # 遞歸搜索八個方向的路徑 for dir in directions: result = search(word[1:], row+dir[0], col+dir[1]) if result: return True return False # 遍歷查找所有單詞 for word in word_list: found = False for row in range(len(matrix)): for col in range(len(matrix[0])): if search(word, row, col): found = True break if found: break if found: print("\"{}\" exists in the matrix".format(word)) else: print("\"{}\" doesn't exist in the matrix".format(word))
在這個例子中,我們定義了一個要查找的單詞列表和一個要查找的矩陣,然后定義了八個方向,用于搜索路徑。我們定義了一個search函數,用于遞歸搜索所有路徑,同時使用適當的if語句來檢查當前位置是否合法,并檢查是否與單詞首字母相同。最后,對于每個要查找的單詞,我們使用兩個for循環遍歷整個矩陣,搜索所有可能的路徑,最終確定是否存在該單詞。
上一篇cdn 使用vue 路由
下一篇python 矩陣怎么寫