繁体   English   中英

如何在不更改列表的情况下更改列表内的值(Python)

[英]How to change value inside list without changing list (Python)

如何在需要时将列表中的值从正值更改为负值,而不更改列表本身。

例子(抱歉会有点Maya,但我认为即使是不认识Maya的人也能理解):

someList = [1.7, 18.9, -0.3]
cmds.joint(n="test", p=someList)

并且我想在这种情况下, someList = [-1.7, 18.9, -0.3] -“ 1.7” someList = [-1.7, 18.9, -0.3]负数。

所以我想知道是否有一种方法可以在不创建其他列表或更改现有列表的情况下进行?

someList[0] = -someList[0]

其中0是索引。 如果您不知道索引而只是说1.7

indx = someList.index(1.7)
someList[indx] = -someList[indx]

您可以重新初始化相同的索引

someList[0]=-someList[0]

如果您不想更改someList ,可以尝试以下操作:

someList = [1.7, 18.9, -0.3]
cmds.joint(n="test", p=[-someList[0]] + someList[1:])

它使1.7为负数,并将其连接到someList的其余部分。

这是用于列表理解的工作。 乘以(-1):

for x in [[x*-1] for x in someList]:
    print(x)

输出:

[-1.7]
[-18.9]
[0.3]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM