如何将负数转换为正数?

ane*_*yzm 87 python numbers absolute-value

如何在Python中将负数转换为正数?(并保持积极的一面.)

小智 180

>>> n = -42
>>> -n       # if you know n is negative
42
>>> abs(n)   # for any n
42
Run Code Online (Sandbox Code Playgroud)

别忘了检查文档.

  • `max`是一个巧妙的技巧,但是,特别是在python中,它有一个开销,比`abs`慢30%.所以你绝对应该更喜欢`abs`而不是`max` (7认同)
  • 还有`max(n,-n)`(只是另一种选择:) (6认同)

Jer*_*ckx 47

简单地乘以-1可以两种方式工作......

>>> -10 * -1
10
>>> 10 * -1
-10
Run Code Online (Sandbox Code Playgroud)

  • 古典数学。 (3认同)
  • 我想这将是最简单的解决方案。该解决方案会将负数转换为正数,将正数转换为负数。 (2认同)

Bol*_*ock 20

如果"保持正数"表示您希望正数保持正数,但也将负数转换为正数,请使用abs():

>>> abs(-1)
1
>>> abs(1)
1
Run Code Online (Sandbox Code Playgroud)


Tim*_*Tim 8

内置函数abs()可以解决这个问题.

positivenum = abs(negativenum)
Run Code Online (Sandbox Code Playgroud)


小智 8

如果您正在使用 numpy 您可以使用

import numpy as np
np.abs(-1.23)
>> 1.23
Run Code Online (Sandbox Code Playgroud)

它将提供绝对值。


Tau*_*uir 5

In [6]: x = -2
In [7]: x
Out[7]: -2

In [8]: abs(x)
Out[8]: 2
Run Code Online (Sandbox Code Playgroud)

实际上abs会返回absolute value任何数字的。绝对值始终是非负数。

  • abs(0) 是否返回正数?:) (2认同)