我想相互比较2个字符串。
我尝试了'in'
,'=='
和'is'
运算符。但是它不能正常工作。
第一个代码:
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”匹配。
抱歉,该语言。
答案 0 :(得分:1)
使用==代替is。
在Python中==和is运算符之间的差异。 ==运算符比较两个操作数的值并检查值是否相等。而is运算符则检查两个操作数是否引用相同的对象。
关于它的stackoverflow帖子: Is there a difference between "==" and "is"?
myStrings = ['test1', 'test2', 'test3', 'test11', 'test12', 'test56']
for elem in myStrings:
if 'test1' == elem:
print('success')
输出:
success
答案 1 :(得分:0)
尝试检查列表中的元素是否等于'test'
:
myStrings = ['test1', 'test2', 'test3', 'test11', 'test12', 'test56']
for elem in myStrings:
if elem=='test1':
print('success')
输出:
success