【问题标题】:Finding a word from a list of strings从字符串列表中查找单词
【发布时间】:2018-06-02 06:08:02
【问题描述】:

假设我有一个字符串列表

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

并且有一个包含字符串“and”的变量,我如何能够检查“and”是否在列表中?为了更清楚地说明这一点,请将列表视为单词搜索:

rdfa
gijn
ipqd

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

【问题讨论】:

  • word_list = ["rdfa", "gijn", "ipqd"]; if 'and' in word_list: <do something>
  • @BillBell - 这根本不是 OP 所要求的。

标签: string python-3.x list substring


【解决方案1】:

转置字母矩阵的纯 Python 方法是

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

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

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

【讨论】:

    【解决方案2】:

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

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

    然后横向看。如果您的单词长度不同,只需用空格填充它们。

    如果您正在尝试解字谜,请查看questionthis module

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多