python 函数 数组

比如
def func(a,b,n):
a的n列用b替换

d=[[1,2],[3,4]]
d1=[5,5]
func(d,d1,0)
func(d,d2,1)

我想d重复用,但总是被修改,函数传递数组时,是用引用。

这里你不能重复引用,你可以用另一个数组 copy 一个d的备份,然后再做你的 替换操作
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-26
函数中你用c=a[:]创建一个c作为a的副本,然后对c做替换操作,最后return c,那么a的值就不会变了,本回答被网友采纳
第2个回答  2019-03-25
你好,你可以考虑不用引用
a = b[:] ,这样的话,a就不跟b变化了。追问

def tiHuan(a,b,j):
a0 = []
a0 = a[:]
for i in range(len(a)):
a0[i][j] = b[i]
r = a0[:]
return r
def qiuJie(d,b):
jie = []

for i in range(len(d)):
d0 = []
d0 = d[:]
print('d = ',d)
print('dx = ',d0)
print(tiHuan(d0,b,i))

return jie

if __name__ == '__main__':
d = [[1,2,3],
[3,2,1],
[2,1,5]]
d0 = [6,7,8]
print("求解为:",qiuJie(d,d0))

用过你说的方法,但还是会被修改。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网