从字符串列表中查找单词

问题描述 投票:1回答:2

说我有一个字符串列表

["rdfa", "gijn", "ipqd"]

并有一个包含字符串“和”的变量,我怎么能检查列表中是否有“和”?为了更清楚地将列表视为单词搜索:

rdfa
gijn
ipqd

我看到了垂直的单词“and”,但我怎样才能检查单词“and”是否在列表中?找到水平单词要容易得多,但找到一个垂直单词让我感到困惑。我想我可能需要找到“和”的第一个字母是否在列表中的任何元素中,然后我需要查找第二个字母是否与第一个字母在同一列中,以及在行中在第一个字母的上方或下方,以及后续字母的相同(因为我希望这适用于任何长度的单词)。但是我不确定这是如何实现的。我希望这个问题很明确,因为没有显示单词搜索就很难解释。

string python-3.x list substring
2个回答
2
投票

转换你的字母矩阵的纯python方式将是

def transpose(l):
    return map(''.join, zip(*l))

l = ["rdfa", "gijn", "ipqd"]

if 'and' in transpose(l):
    ...

1
投票

列表元素不知道其余元素,因此您无法垂直比较它。如果您拥有的单词列表不是很大,最有效的方法是构建列表的转置,如:

np.array(your_word_list).T.tolist()

然后水平看。如果你的单词长度不同,只需用空格填充它们。

如果您正在尝试解决单词拼图,请检查此questionthis module

© www.soinside.com 2019 - 2024. All rights reserved.