我想做的(C代码):
int a = 2, b = 3, c = 4;
int* arr[3] = {&a, &b, &c};
for (int i = 0; i < 3; ++i) {
if (*(arr[i]) > 1) {
*(arr[i]) = 1
}
}
我希望Python对这段代码执行类似指针的行为。
>>> a = 2
>>> b = 3
>>> c = 4
>>> for x in [a, b, c]:
... if x > 1:
... x = 1
...
>>> a,b,c
(2, 3, 4)
如何在Python中实现类似C代码的行为?
最佳答案
也许这对你有帮助
a,b,c = [ 1 if i>1 else i for i in [ a, b, c ] ]
a,b,c = map( lambda x: 1 if x>1 else x, [a,b,c] ) #lambda or name of some function
关于python - 当添加到列表中时,为什么Python复制值而不是指针?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8743072/