如果数字是正数还是负数(包括0),如何返回1或-1?

时间:2016-03-04 21:02:15

标签: python math

我可以问一下如何在Python中实现这个目标:

输入: I = [10,-22,0]

输出: O = [1,-1,-1]

我在想 O=I/abs(I)

但如何处理零?

2 个答案:

答案 0 :(得分:8)

以下应该做你想做的事:

>>> I = [10,-22,0]
>>> O = [1 if v > 0 else -1 for v in I]
>>> O
[1, -1, -1]
>>> 

如果您想将maplambda一起使用,则可以执行以下操作:

>>> O = map(lambda v: 1 if v > 0 else -1, I)
>>> O
[1, -1, -1]
>>> 

答案 1 :(得分:1)

你可以这样做:

I = [10,-22,0]
output = []

for num in I:
    if num <=0:
        output.append(-1)
    else:
        output.append(1)

print output