猿问

我试图在 python 中比较 2 个字符串,但它失败了

所以我不想比较 iist 和变量中的字符串,但输出是错误的


我用的是和 == 然后我想因为我列表中的 elemen 不是字符串然后我尝试使用 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 但它不起作用然后我虽然需要将列表中的 elemen 更改为 str() 它也不起作用


我想比较一下,非常感谢您的回答


绝地无双
浏览 146回答 1
1回答

森林海

这几乎肯定与列表中存储的内容有关。通常 == 用于比较值,而 'is' 用于比较身份,因此在这种情况下您应该使用 ==。最后一次打印输出什么?'ana' == 'ana' 将始终返回 true,因此如果不指定元素的设置位置,则没有足够的信息来解决您的问题。如果它打印“ana”,则可能值得打印每个对象的散列函数以进行比较。我想把它写成评论,但我没有足够的代表发表评论:/
随时随地看视频慕课网APP

相关分类

Python
我要回答