class Solution:
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
sign = [1,-1][x < 0]
rst = sign * int(str(abs(x))[::-1])
return rst if -(2**31)-1 < rst < 2**31 else 0
[1,-1][x < 0]
是什么意思?
答案 0 :(得分:0)
对于大于0的任何数字,表达式x < 0
的求值为False
,由于int(False)
的求值为0
,因此它返回索引0中第一个列表的值。
>>> 1 < 0
False
>>> int(1 < 0)
0
>>> [1, -1][int(1 < 0)]
1
值小于0则完全相反。
>>> [1,-1][1 < 0]
1
>>> [1,-1][-1 < 0]
-1
它与-1 if x < 0 else 1