当前位置: 首页 > 知识库问答 >
问题:

检查单词是否存在于列表的特定位置

龙毅
2023-03-14

假设我有一个列表列表。

List1=[[“红色是我最喜欢的颜色”],[“蓝色是她最喜欢的颜色”,[“她真的很好。

现在我想检查某一组单词后是否存在单词“is”。

我写了一个单词lise

有没有办法用if语句检查它?

如果我在句子中写< code > if ' is:它将返回List1中的所有三个句子,我希望它返回前两个句子。

有没有办法检查单词' Is '是否正好定位在word_list中的单词之后?提前感谢。

共有3个答案

从光启
2023-03-14

已经回答了。

请参阅模块文档:https://docs.python.org/3/library/re.html

堆栈溢出以前回答的问题:检查字符串是否与模式匹配

罗茂实
2023-03-14

你可以试试这个:

List1 = [['Red is my favorite color.'],['Blue is her favorite.'], ['She is really nice.']]
listResult = []
word_list = ['Red', 'Blue']
for phrase in List1:
    for word in word_list:
        if f'{word} is' in phrase[0]:
            listResult.append(phrase[0])
阎懿轩
2023-03-14

注意:。我假设字符串的开头匹配。要在任何地方进行匹配,请使用re。搜索而不是重新匹配

您可以使用正则表达式:

import re

regex = re.compile(fr'\b({"|".join(map(re.escape, word_list))})\s+is\b')
# regex: \b(Red|Blue)\s+is\b

out = [[bool(regex.match(x)) for x in l]
       for l in List1]

输出: [[真], [真], [假]]

使用的输入:

List1 = [['Red is my favorite color.'],
         ['Blue is her favorite.'],
         ['She is really nice.']]

word_list = ['Red', 'Blue']

如果你想要句子:

out = [[x for x in l if regex.match(x)]
       for l in List1]

输出:

[['Red is my favorite color.'],
 ['Blue is her favorite.'],
 []]

或作为平面列表:

out = [x for l in List1 for x in l if regex.match(x)]

输出:

['Red is my favorite color.',
 'Blue is her favorite.']
 类似资料:
  • 问题内容: 我有一个包含字段的表: 10 4 6 2 11 9 3 5 它包含我的订单和状态。基本上,表格包含每个订单的历史记录。 我想检查一个特定的订单是否具有特定的订单顺序。 示例:如果订单ID 4具有状态,则返回true 状态应为一个接一个,因此2之后必须为4,4之后为3以及之后为1。 这些顺序为我提供了有关特定订单流程的信息(将在我的报告中显示)。 我需要检查这种序列: 1,2,3 1,4

  • 问题内容: 那么,如何检查字符串中是否包含特定单词? 这是我的代码: 我遇到了错误。 问题答案: 并不像他们所说的那么复杂,选中此选项您不会后悔。 您可以根据需要更改。

  • 所以我想检查我的列表中是否有一个词存在于消息中,所以我做了这样的操作: 但现在我还想检查我的列表中是否有一个词不存在,但如果我这样做了,它就不会工作。只是无视黑名单 为什么会这样?

  • 我试图写一个方法来检查一个给定的单词是否是回文,但到现在为止它还不能工作。我怀疑错误出在if语句中,而且您没有将对象(如字符串)与==进行比较,而是与equals进行比较,对吗?但是Java不允许我写:if(firstthalf.charat(i).equals(secondhalf.charat(j))),那么我该怎么做才能使它工作呢?代码中还有其他错误吗? null null 提前道谢! /尼

  • 问题内容: 我想知道如何检查数据库中的特定表(例如:myTable)中是否存在特定列(例如:日期)。 我已经阅读了此答案,该答案提供了一个查询,该查询导致另一个查询。 但是我需要的是结果。 更新1 如何在C#应用程序中做到这一点? 也许使用或其他? 问题答案: 感谢所有提供解决方案并收集了一些答案的人,我提出了自己的解决方案版本。也许这不是最好的解决方案,但是至少我不需要额外的dll来添加引用或处

  • 我需要验证表中是否已经存在列。我的类扩展了CustomTaskChange,因此我的方法接收一个数据库对象作为参数。我可以通过ResultSetObject进行我想要的验证吗?