脚本专栏 
首页 > 脚本专栏 > 浏览文章

python 两个一样的字符串用==结果为false问题的解决

(编辑:jimmy 日期: 2025/1/16 浏览:3 次 )

有时候我们需要判断两个字符串内容是否相等,判断内容相等,我们用‘==',但是有时候发现print(str1)和print(str2)眼看着一模一样,但是用==时却是false

可能会被这种问题莫名郁闷很久,其实问题有可能很简单,如果你的两个字符串末尾有其他符号,比如回车‘\n',print()的时候是看不到回车符的,所以,用以下来判断:

str1 = str1.strip() #去掉字符串中其他符号包括换行符等等
str2 = str2.strip()
if str2 == str1:
  ... #自己的代码
  ...

补充知识:python2和python3中关于不等于运算符的区别

Python2:如果用到不等于运算符,既可以使用<>也可以使用!=,代码如下:

python@python:/home/share/2py$ ipython
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
 
In [1]: print(23 <> 24)
True
 
In [2]: print(23 != 24)
True

-----------------------------分割线-------------------------------

Python3k:如果用到不等于运算发,只能用!=,不能使用<>,代码如下:

python@python:/home/share/2py$ ipython3
Python 3.4.3 (default, Oct 14 2015, 20:28:29) 
 
In [1]: print(3 <> 3)
 
SyntaxError: invalid syntax
 
In [2]: print(3 != 3)
False

以上这篇python 两个一样的字符串用==结果为false问题的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:Python之关于类变量的两种赋值区别详解
下一篇:浅谈python3 构造函数和析构函数
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。