在Python中,如何根据另一个数字的符号更改列表中一个数字的符号?

时间:2013-12-01 06:21:16

标签: python arrays list sign

我在列表中有两个值,让我们说它是

A = [1, -3]

如果第二个值的符号是正数,我可以单独留下数字。如果第二个值的符号为负,我需要将第一个值更改为-1。但是如果第一个值是0,则根本不需要完成,因为-0与正零相同。

所以在A的情况下,我需要将1更改为-1。所以最终的结果应该是

A = [-1, -3]

我是一个新的程序员,所以基本上我认为它涉及将值附加到A的末尾,然后删除第一个值。我想我们必须这样做,因为据我所知,没有办法只改变一个数字的符号。

所以,我认为它可能是这样的:

A = [1, -3]
for i in A:
    if #something about the second value being a positive value
        pass
    else:
        A.append("-1")
        del A[0]
print A

任何帮助将不胜感激,谢谢!

4 个答案:

答案 0 :(得分:7)

这有效:

if A[1] < 0:
    A[0] *= -1

答案 1 :(得分:1)

一个简单的衬垫应该这样做:

A = [1, -3]
A = [-A[0] if A[-1] < 0 else A[0], A[-1]]

print A

这将产生预期的输出:

[-1, -3]

注意:A[-1]表示列表的最后一个元素,在这种情况下与A[1]相同

答案 2 :(得分:1)

A=[1,3]
if A[1]<0:A[0]*=-1
print A

答案 3 :(得分:0)

一切都更简单:

if A[1] < 0:
    A[0] = -1