我正在尝试将正数列表转换为python 3.3.3中具有相同值的负数列表
例如,将[1,2,3]
转为[-1,-2,-3]
我有这段代码:
xamount=int(input("How much of x is there"))
integeramount=int(input("How much of the integer is there"))
a=1
lista=[]
while(a<=integeramount):
if(integeramount%a==0):
lista.extend([a])
a=a+1
listb=lista
print(listb)
[ -x for x in listb]
print(listb)
当我希望一个是正面而一个是负面时,这会打印两个相同的列表。
答案 0 :(得分:15)
最自然的方式是使用列表理解:
mylist = [ 1, 2, 3, -7]
myneglist = [ -x for x in mylist]
print(myneglist)
给出
[-1, -2, -3, 7]
答案 1 :(得分:3)
如果要修改列表:
mylist = [ 1, 2, 3, -7]
print(mylist)
for i in range(len(mylist)):
mylist[i] = -mylist[i]
print(mylist)
答案 2 :(得分:3)
您可以使用numpy包并执行numpy.negative()
答案 3 :(得分:0)
还有这种方法:
小小注意,这只有在所有数字开始为正数时才有效。它不会影响0.如果您有负数,您不想改变,您需要在下面添加IF语句。
if num < 0: continue
numbers = [1, 2, 3, 4 ,5]
for num in numbers:
numbers[num-1] = num - (2*num)
numbers
[-1, -2, -3, -4, -5]
答案 4 :(得分:0)
对于大型列表,您最好使用| Name | value |
|:-----|----------:|
| A |[1,9,6,1,9]|
| A |[4,2,9,4,2]|
| A |[7,5,3,7,5]|
| B |[6,1,9,6,1]|
| B |[9,4,2,9,4]|
| B |[3,7,5,3,7]|
numpy
答案 5 :(得分:-1)
对于球拍:
enter code here
(define (negativelist lst) (cond [(空?lst) '()] [(cons (* -1 (first lst))(negativelist (rest lst)))]))