Python如何在列表中找到完全匹配,而不仅仅包含在列表中的单词中

时间:2018-04-10 05:46:49

标签: python

我正在尝试在[]列表中的单词列表中找到单词的完全匹配,或者从由每行单词分隔的文本文档中的列表中找到完全匹配。但是如果单词包含在单词列表中,则使用“in”将返回true。我正在寻找完全匹配。例如在python 2.7.12中:

mylist = ['cathrine', 'joey', 'bobby', 'fredrick']

for names in mylist:
    if 'cat' in names:
        print 'Yes it is in list'

这将返回true,但我希望它只有在完全匹配时才是真的。如果'cathrine'在mylist中,'cat'不应该返回true。

并尝试使用“if'cat'== names:'似乎不起作用。

如果我正在寻找的字符串与单词列表完全匹配,并且不包含在单词列表中的单词中,我将如何返回true?

4 个答案:

答案 0 :(得分:1)

您可以直接在列表中使用in

<强>实施例

mylist = ['cathrine', 'joey', 'bobby', 'fredrick']

if 'cat' in mylist:
    print 'Yes it is in list'
#Empty


if 'joey' in mylist:
    print 'Yes it is in list'
#Yes it is in list

答案 1 :(得分:0)

您可以将inif else条件运算符

一起使用
In [43]: mylist = ['cathrine', 'joey', 'bobby', 'fredrick']

In [44]: 'yes in list ' if 'cat' in mylist else 'not in list'
Out[44]: 'not in list'

答案 2 :(得分:0)

@Rakesh已经给出了归档你任务的答案,这只是为了纠正你的陈述。

 trying to use "if 'cat' == names:' does't seem to work

实际上'cat' == names这会返回false这个东西是你错过了抓住那个的其他部分

mylist = ['cathrine', 'joey', 'bobby', 'fredrick']

for names in mylist:
    if 'cat' == names:
        print ('Yes it is in list')
    else:
        print('not in list')

答案 3 :(得分:0)

您可以使用&#39; ==&#39;而不是&#39;

mylist = [&#39; cathrine&#39;,&#39; joey&#39;,&#39; bobby&#39;,&#39; fredrick&#39;]

表示mylist中的名称:     如果名字==&#39; cat&#39; :         打印(&#39;匹配&#39;)     其他:         打印(&#39;未匹配&#39;)

我认为它会起作用!