Py学习  »  Python

python中的数字反转

Spatial Digger • 3 年前 • 1307 次点击  

我有一个列表数组,我想反转数字,所有负数都应该是正数,反之亦然。

array([[-0.16759927, -0.04342834,  0.9848982 ],
       [-0.45425025,  0.47425876,  0.75414544],
       [ 0.14613204, -0.19651204,  0.96955064],
       [ 0.55392107,  0.80368964,  0.21738078],
       [-0.13777969, -0.14350102,  0.98001235],
       [-0.00225069,  0.00356328,  0.99999112]])

有没有python的方法可以做到这一点?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129289
 
1307 次点击  
文章 [ 2 ]  |  最新文章 3 年前
catasaurus
Reply   •   1 楼
catasaurus    3 年前

如果一个数字是正的或负的,则反转一个数字不是切换。它把一小部分颠倒过来。每个数都是一对一的数,所以你只需要用一除以每个数。这应该做到:

import numpy as np
array = np.array([[-0.16759927, -0.04342834,  0.9848982 ],
       [-0.45425025,  0.47425876,  0.75414544],
       [ 0.14613204, -0.19651204,  0.96955064],
       [ 0.55392107,  0.80368964,  0.21738078],
       [-0.13777969, -0.14350102,  0.98001235],
       [-0.00225069,  0.00356328,  0.99999112]])
new_array = np.array([1/i for i in array])

价值 new_array :

array([[  -5.9666131 ,  -23.0264385 ,    1.01533336],
       [  -2.20142972,    2.10855357,    1.32600417],
       [   6.84312626,   -5.08874673,    1.03140564],
       [   1.80531136,    1.2442614 ,    4.60022271],
       [  -7.25796378,   -6.96859158,    1.0203953 ],
       [-444.30818993,  280.64030893,    1.00000888]])

但如果你只是想要你所描述的,这应该是可行的:

import numpy as np
array = np.array([[-0.16759927, -0.04342834,  0.9848982 ],
       [-0.45425025,  0.47425876,  0.75414544],
       [ 0.14613204, -0.19651204,  0.96955064],
       [ 0.55392107,  0.80368964,  0.21738078],
       [-0.13777969, -0.14350102,  0.98001235],
       [-0.00225069,  0.00356328,  0.99999112]])
new_array = -array

价值 新_阵列 :

array([[ 0.16759927,  0.04342834, -0.9848982 ],
       [ 0.45425025, -0.47425876, -0.75414544],
       [-0.14613204,  0.19651204, -0.96955064],
       [-0.55392107, -0.80368964, -0.21738078],
       [ 0.13777969,  0.14350102, -0.98001235],
       [ 0.00225069, -0.00356328, -0.99999112]])
Marc de la Barrera i Bardalet
Reply   •   2 楼
Marc de la Barrera i Bardalet    3 年前

你可以这么做 -array 并得到预期的结果。