2020年9月11日 ☀
今天是刷力扣的第2天。
希望通过刷力扣学点python编程思想和知识。不是最合适的答案,但是是自己想出的解决思路。如有更好的建议,欢迎指正~
第3题:回文数
- 难度:简单
- 题目要求:
答案 (python):
class Solution:
def isPalindrome(self, x:int) -> bool:
y = str(x)
z = y[::-1]
if y == z:
return True
else:
return False
PyCharm调试:
class Solution:
def isPalindrome(self, x:int) -> bool:
y = str(x)
z = y[::-1]
if y == z:
return True
else:
return False
if __name__ == "__main__":
r = Solution()
rs = r.isPalindrome(-121)
print(rs)
笔记:
- python中 == 和 is 的区别:
1)判断两个字符串内容是否相同:使用“==
”比较操作符,比较判断两个对象的value(值)
是否相等(其原理是根据字符串中字符的ASCII进行判断)
2)is
:同一性运算符。判断两个对象间的id
(唯一身份标识)是否相同
3)Python中对象的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)
- is 理解示例:
>>> x=y= [1,2,3]
>>> z=[1,2,3]
>>> x == y
True
>>> x == z
True
>>> x is y #x和y的id相同
True
>>> x is z #x和z的id不同
False
>>> id(x)
1721580813184
>>> id(y)
1721580813184
>>> id(z)
1721581117952
只有数值型和字符串型的情况下,x is y才为True,当x和y是tuple,list,dict或set型时,a is b为False。
这段话该如何理解呢?请看如下示例:
>>> x = 2
>>> y = 2
>>> x is y #x,y是数值类型
True
>>> id(x)
140720815019712
>>> id(y)
140720815019712
>>>
>>> x = "happy"
>>> y = "happy"
>>> x is y #x,y是字符串类型
True
>>> id(x)
1721581119344
>>> id(y)
1721581119344
>>>
>>> x = (1,2,3,4)
>>> y = (1,2,3,4)
>>> x is y #x,y是tuple类型
False
>>> id(x)
1721581087056
>>> id(y)
1721581087216
>>>
>>> x = [1,2,3,4]
>>> y = [1,2,3,4]
>>> x is y #x,y是List类型
False
>>> id(x)
1721580813184
>>> id(y)
1721581118080
>>>
>>> x = {"name":"hzm", "age":18}
>>> y = {"name":"hzm", "age":18}
>>> x is y #x,y是Dict类型
False
>>> id(x)
1721580745856
>>> id(y)
1721580745920
>>>
>>>> x = set([1,2,3])
>>> y = set([1,2,3])
>>> x is y #x,y是set类型
False
>>> id(x)
1721581095840
>>> id(y)
1721581096512
每天积累一小点。–该图片来源网络,如有侵权,请告知删除。