所以我不想比较iist和变量中的字符串,但是输出却是假的
ive used and and ==然后我认为是因为列表中的元素不是字符串,所以我尝试使用str()func将其转换为str,但是它不起作用
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(),但它也确实起作用了
我想比较一下,谢谢您的回答
答案 0 :(得分:0)
几乎可以肯定这与列表中存储的内容有关。同样,通常==用于比较值,“ is”用于比较标识,因此在这种情况下,应使用==。
最后一次打印输出什么?
'ana'=='ana'将始终返回true,因此在没有指定元素设置位置的情况下,没有足够的信息来确定问题所在。
如果打印出“ ana”,则可能值得打印每个要比较的对象的哈希函数。
我想写这句话作为评论,但我没有足够的代表发表评论:/