请解释[1,-1] [x <0]

时间:2019-04-30 09:16:27

标签: python python-3.x

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]是什么意思?

1 个答案:

答案 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