承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601
当前位置:首页  >  软件开发  >  python 矩阵找单词

python 矩阵找单词

管理员 2023-09-04 08:09:06 软件开发 0 ℃ 0 评论 1884字 收藏

python 矩阵找单词

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, ⑴), (⑴, 0), (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循环遍历全部矩阵,搜索所有可能的路径,终究肯定会不会存在该单词。

文章来源:丸子建站

文章标题:python 矩阵找单词

https://www.wanzijz.com/view/76275.html

TAG: php教程 centos
X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信