[英]How to convert positive numbers to negative in Python?
我知道abs()
可用于将数字转换为正数,但是否有相反的事情?
我有一个充满数字的数组,需要将其转换为负数:
array1 = []
arrayLength = 25
for i in arrayLength:
array1.append(random.randint(0, arrayLength)
我想也许我可以在添加数字时转换数字,而不是在数组完成之后。 有谁知道它的代码吗?
提前谢谢了
如果您想强制一个数字为负数,无论它最初是正数还是负数,您都可以使用:
-abs(n)
请注意, 0
将保持为0
。
-abs(n)
是 Tom Karzes 之前的一个非常好的答案,因为无论您是否知道数字是否为负,它都有效。
如果你知道这个数字是正数,你可以通过做减法来避免函数调用的开销:
0 - n
这可能根本无关紧要,但如果此代码在游戏循环或其他任何内容中,则函数调用的开销可能会增加。
>>> timeit.timeit("-abs(40)")
0.08589089001179673
>>> timeit.timeit("0 - 40")
0.01394932100083679
您从正数开始,因此只需使用一元-
运算符。
arrayLength = 25
array1 = [-random.randint(0, arrayLength) for _ in arrayLength]
我相信最好的方法是将每个数字乘以 -1:
def negativeNumber(x):
neg = x * (-1)
return neg
这也会很好
import random
array1 = []
arrayLength = 25
for i in range(arrayLength):
array1.append((random.randint(0, arrayLength)*-1))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.