如何将列表中的所有数字变成负数?

新手上路,请多包涵

我正在尝试将正数列表转换为 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)

当我希望一个为正,一个为负时,这会打印两个相同的列表。

原文由 user3368627 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.5k
1 个回答

最自然的方法是使用列表理解:

 mylist = [ 1, 2, 3, -7]
myneglist = [ -x for x in mylist]
print(myneglist)

给予

[-1, -2, -3, 7]

原文由 Anton 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题