gpt4 book ai didi

python - if 条件中与 unicode 字符串的比较 (python)

转载 作者:行者123 更新时间:2023-11-30 23:52:29 24 4
gpt4 key购买 nike

Possible Duplicate:
Python '==' vs 'is' comparing strings, 'is' fails sometimes, why?

我将跳过告诉您我如何测试代码的部分,并直接跳到问题所在。

Python 似乎在将 if 语句中的 unicode 字符串拆分与另一个内联 unicode 字符串匹配时遇到一些问题。

>>>zone = u'domain.com.'
>>>zone[-1:]
u'.'

>>>u'.' is u'.' #works fine
True
>>> z[-1:] == u'.' #works fine
True
>>> zone[-1:] is u'.' # FAILS !
False

这是我的实际代码片段

>>>if zone[-1:] is not u'.':
>>> #this line will always run !

如果我将“不是”更改为!=代码可以正常工作!

有人知道为什么“is”导致比较失败吗?

最佳答案

这是因为字符串是 Python 中的对象 --- 当您对字符串进行切片时,您会创建一个新字符串。

比这稍微复杂一些,但这就是要点。

解决方案:使用==!=代替isis not

关于python - if 条件中与 unicode 字符串的比较 (python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6257616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com