此问题在此处已有答案:
(23个答案)
Apply function to each element of a list(3个答案)
4个月前关闭。
在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)
当我想要一个为正,一个为负时,它会打印两个相同的列表。
7条答案
按热度按时间zd287kbt1#
最自然的方法是使用列表解析:
给予
xriantvc2#
如果要就地修改列表:
im9ewurl3#
您可以使用numpy包并执行
numpy.negative()
kupeojn64#
对于大型列表,请考虑使用
numpy
von4xj4u5#
还有这种方法:
需要注意的是,只有当所有的数字都是正数时,这才有效。它不会影响0。如果你不想改变负数,你需要在下面添加IF语句。
bvk5enib6#
我将提供另一个使用
map
的解决方案:虽然我想看看与简单理解相比的速度,以及与numpy相比的速度,虽然这取决于本地解决方案列表的长度,但numpy是大型数据集的解决方案:
用于复制绘图的代码:
gzjq41n47#
使用
map
和lambda
来完成这一操作,就像Python pro一样;)