Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何精确比较字符串_Python_Python 3.x_String_Substring - Fatal编程技术网

Python 如何精确比较字符串

Python 如何精确比较字符串,python,python-3.x,string,substring,Python,Python 3.x,String,Substring,我想比较两个字符串 我尝试了“in”、“is”和“is”操作符。但它不能正常工作 第1代码: myStrings = ['test1', 'test2', 'test3', 'test11', 'test111', 'test56'] for elem in myStrings: if 'test1' in elem: print('success') 第二代码: myStrings = ['test1', 'test2', 'test3', 'test11', 't

我想比较两个字符串

我尝试了“in”、“is”和“is”操作符。但它不能正常工作

第1代码:

myStrings = ['test1', 'test2', 'test3', 'test11', 'test111', 'test56']

for elem in myStrings:
    if 'test1' in elem:
        print('success')
第二代码:

myStrings = ['test1', 'test2', 'test3', 'test11', 'test12', 'test56']

for elem in myStrings:
    if 'test1' is elem[0:len('test1')]:
        print('success')

预期: 成功只能打印一次。但它打印了3次。它还成功地与“test11”和“test12”进行了比较

对不起,我没有完全解释这个问题

列表中字符串的长度不是固定的。它是可变的。 字符串“test1”是多个字符串的子字符串

现在,在下一步中,我还想将“test11”和列表中的元素进行比较。但在这里,它正在失败。因为它与“test11”和“test111”匹配

很抱歉使用这种语言。

使用==而不是is

Python中==和is运算符之间的差异。==运算符比较两个操作数的值并检查值是否相等。而is运算符检查两个操作数是否引用同一对象

关于它的帖子:

输出:

success

尝试检查列表中的元素是否等效于“test”:

输出:


使用其他运算符时发生了什么?==对我来说效果很好。将其更改为if'test1'==elem:我不确定是否可能重复。。。它不会进入if条件
success
myStrings = ['test1', 'test2', 'test3', 'test11', 'test12', 'test56']
for elem in myStrings:
   if elem=='test1':
     print('success')
success