为什么在python中用已知数组初始化函数中的参数也会更改数组的值?

2024-05-18 17:42:30 发布

您现在位置:Python中文网/ 问答频道 /正文

很抱歉,这个问题的题目含糊不清。我找不到合适的陈述来回答我的问题。我一直在为python中的某些东西而挣扎。我有一个数组,我手动输入python。然后我想在函数中使用它,我想把函数放在while循环中。我的代码是这样的:

C=[8592,2092,9284,1136,8267,349,5623,2034,2834,4404]
def h(x):
  Emp=C
  .
  .
  . 
  Emp=Emp-xxxx
  return xxx
while xxxx:
  xxx=h(x)

问题从这里开始。我想在整个过程中保持C不变,但不幸的是C的值随着Emp值的变化而变化。我从来没有在Matlab中遇到过这样的问题,我不明白为什么在Pyhton中会发生这种情况。感谢您的帮助


Tags: 函数代码pyhtonreturn过程def情况数组
1条回答
网友
1楼 · 发布于 2024-05-18 17:42:30

I want to keep C unchanged during the whole process

你的问题是Emp = C,在Python中这会创建一个对C的引用,它不会像一些统计计算语言那样复制它

您可以用C复制

import copy

x = copy.copy(C)
while condition:
    h(x)

相关问题 更多 >

    热门问题