【发布时间】:2011-04-20 17:43:09
【问题描述】:
如何在 Python 中将负数转换为正数? (并保持积极的态度。)
【问题讨论】:
-
阅读原始问题(或者如果the edit 获得批准,则返回原始措辞),不清楚您带括号的句子应该是什么意思。您的意思是要保留原件的副本,还是要保留正值不变?
标签: python numbers absolute-value
如何在 Python 中将负数转换为正数? (并保持积极的态度。)
【问题讨论】:
标签: python numbers absolute-value
>>> n = -42
>>> -n # if you know n is negative
42
>>> abs(n) # for any n
42
别忘了查看docs。
【讨论】:
max(n, -n)(只是另一种选择:)
max 是一个巧妙的技巧,但是,特别是在 python 中,它有一个开销,这将比abs 慢 30%。所以你绝对应该更喜欢abs 而不是max
简单地乘以 -1 对两种方式都有效...
>>> -10 * -1
10
>>> 10 * -1
-10
【讨论】:
如果“保持正数”表示您希望正数保持正数,但也将负数转换为正数,请使用abs():
>>> abs(-1)
1
>>> abs(1)
1
【讨论】:
内置函数 abs() 可以解决问题。
positivenum = abs(negativenum)
【讨论】:
In [6]: x = -2
In [7]: x
Out[7]: -2
In [8]: abs(x)
Out[8]: 2
实际上abs 会返回任意数字的absolute value。绝对值始终是非负数。
【讨论】:
如果你正在使用 numpy,你可以使用
import numpy as np
np.abs(-1.23)
>> 1.23
它将提供绝对值。
【讨论】: