Python正数转负数:如何在Python中将正数转换为负数

关于Python正数转负数的问题,在neg x neg中经常遇到, 我知道abs()可用于将数字转换为正,但是否有相反的东西?

我知道abs()可用于将数字转换为正,但是否有相反的东西?

我有一个充满数字的数组,我需要转换为负数:

array1 = []
arrayLength = 25
for i in arrayLength:
   array1.append(random.randint(0, arrayLength)

我想也许我可以转换数字,因为他们被添加,而不是数组完成后。

提前感谢

26

如果你想强制一个数字为负,不管它最初是正的还是负的,你可以使用:

    -abs(n)

注意整数0将保持为0

17

-abs(n)是 Tom Karzes 之前的一个非常好的答案,因为无论您是否知道该数字为负,它都有效。

如果你知道这个数字是一个正数,虽然你可以通过取变量的负数来避免函数调用的开销:

-n 

这可能并不重要,但是如果这个代码在一个像 gameloop 这样的热循环中,那么函数调用的开销将会增加。

>>> timeit.timeit("x = -abs(y)", setup="y = 42", number=5000)
0.0005687898956239223
>>> timeit.timeit("x = -y", setup="y = 42", number=5000)
0.0002599889412522316
4

我相信最好的方法是将每个数字乘以-1:

def negativeNumber(x):
    neg = x * (-1)
    return neg
2

您从正数开始,所以只需使用一元-运算符。

arrayLength = 25
array1 = [-random.randint(0, arrayLength) for _ in arrayLength]

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(116)
Php学生管理系统源码:免费和安全的 PHP用户管理系统(user management system)
上一篇
Crawlers:PythonWebCrawlers和“获取”html源代码
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(49条)