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

Python如何在列表中找到精确匹配,而不仅仅是包含在列表中的单词中,python,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' 这将返回真值,但我希望它只有在完全匹

我试图在[]列表或文本文档中的列表中找到一个单词的精确匹配项,每行用一个单词分隔。但是如果单词包含在单词列表中,则使用“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'
这将返回真值,但我希望它只有在完全匹配的情况下才是真的如果“cathrine”在mylist中,则cat不应返回true

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


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

您可以直接在列表上使用
中的

Ex:

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

您可以将
中的
if-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'
给了你一个归档任务的答案,这只是对你的陈述做一个更正

 trying to use "if 'cat' == names:' does't seem to work
实际上,
'cat'==names
这返回
false
问题是您缺少了捕获它的else部分

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

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

您可以使用“==”而不是“in”

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

for names in mylist:
    if names =='cat' :
        print('Matched')
    else:
        print('Not Matched')

我想它会起作用的!

如果我的列表中的“cat”似乎不起作用或找不到任何东西。我做错了什么吗?谢谢,但我希望它只有在完全匹配的情况下才返回true。因此,如果有“cathrine”,则“cat”不应该返回true。是的,在上面的示例中,cat不会返回true。好的,我正在读取一个姓名文本文件。我已经尝试过了他创建了一个原始文本文件(每一行上都有一个名称),但这似乎不起作用。我尝试将文件转换为open('mylist.txt',r')作为infle:for name in infle:mylist.append(names)…并在mylist中使用if'cat',如果我使用'cahtrine',它不会返回true。我是否遗漏了什么?可能文本中有尾随空格。使用
mylist.append(names.strip())
'cahtrine'
拼写错误?