我可以問如何在Python實現這一點:如果數字是正數或負數(包括0),如何返回1或-1?
輸入: I = [10,-22,0]
輸出: O = [1,-1,-1]
我想 O=I/abs(I)
但如何處理零?
我可以問如何在Python實現這一點:如果數字是正數或負數(包括0),如何返回1或-1?
輸入: I = [10,-22,0]
輸出: O = [1,-1,-1]
我想 O=I/abs(I)
但如何處理零?
以下應該做你想要什麼:
>>> I = [10,-22,0]
>>> O = [1 if v > 0 else -1 for v in I]
>>> O
[1, -1, -1]
>>>
如果你想使用map
與lambda
,你可以這樣做:
>>> O = map(lambda v: 1 if v > 0 else -1, I)
>>> O
[1, -1, -1]
>>>
謝謝!有沒有矢量化的方式來做到這一點?我不確定「for循環」是否會減慢計算速度。 – lanselibai
這就是所謂的理解。它應該非常高效。 –
謝謝,我會拿! – lanselibai
你可以只是這樣做:
I = [10,-22,0]
output = []
for num in I:
if num <=0:
output.append(-1)
else:
output.append(1)
print output
你可以使用一個循環,迭代列表中的每一個元素,並有'if'條件爲'0' –
你使用純python嗎? –
你是什麼意思「純」python?我正在使用python – lanselibai