我试图在python中比较2个字符串,但失败了
所以我想比较一个列表和变量中的字符串,但是输出是错误的 我使用了is和==然后我想,因为我列表中的元素不是字符串,所以我尝试使用str()func将其转换为str,但它不起作用我试图在python中比较2个字符串,但失败了,python,python-3.x,Python,Python 3.x,所以我想比较一个列表和变量中的字符串,但是输出是错误的 我使用了is和==然后我想,因为我列表中的元素不是字符串,所以我尝试使用str()func将其转换为str,但它不起作用 obj='ana' # haha[22][0] is 'ana' obj1=str(haha[22][0]) if obj is obj1: print('true') else: print(
obj='ana'
# haha[22][0] is 'ana'
obj1=str(haha[22][0])
if obj is obj1:
print('true')
else:
print('false')
print(obj1)
首先我尝试将==改为is,但它不起作用,然后我想我需要将列表中的元素改为str(),它也不起作用
我想比较一下,非常感谢您的回答这几乎肯定与您列表中存储的内容有关。通常==用于比较值,“is”用于比较标识,因此在这种情况下应该使用== 最后一次打印的输出是什么 “ana”==“ana”将始终返回true,因此在不指定元素设置位置的情况下,没有足够的信息来确定问题所在 如果它打印“ana”,则可能值得打印每个要比较的对象的哈希函数
我想把它作为一个评论来写,但我没有足够的代表来评论:/在
print('true)
中,你打开一个报价,不再关闭它。我编辑了,但仍然不工作。我认为字符串使用“”而不是“”表示字符“和”。两者都可以用于字符串。如果字符串相等,obj==obj1
将返回True。您的问题可能在于字符串本身不相等。我列表中的元素是('ana',1)1是我的txt中出现了多少ana,我尝试使用==但它不起作用最后一次打印的是ana而不是“ana”,我列表中的元素是('ana',1)1是我的txt中出现了多少ana最后打印的是什么?对不起,我忘了哈哈[22][0]不是ana HHEH。对不起,非常感谢