欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 矩陣找單詞

洪振霞2年前8瀏覽0評論

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循環遍歷整個矩陣,搜索所有可能的路徑,最終確定是否存在該單詞。