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

有时候我们需要判断两个字符串内容是否相等,判断内容相等,我们用‘==',但是有时候发现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问题的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持来客网。