Python 如何连续替换数组的元素?

Python 如何连续替换数组的元素?,python,arrays,python-2.7,Python,Arrays,Python 2.7,在每个时间步中,我都试图用其他2加1的总和替换列表中的一个元素。这是我的代码: def replace(x, y, z): for i in range(3): rep_x = [y+z+1, y, z] rep_y = [x, x+z+1, z] rep_z = [x, y, x+y+1] ini_x = rep_x ini_y = rep_y ini_z = rep_z r

在每个时间步中,我都试图用其他2加1的总和替换
列表中的一个元素。这是我的代码:

def replace(x, y, z):

    for i in range(3):

        rep_x = [y+z+1, y, z]
        rep_y = [x, x+z+1, z]
        rep_z = [x, y, x+y+1]

        ini_x = rep_x
        ini_y = rep_y
        ini_z = rep_z

    return ini_x, ini_y, ini_z


print replace(2, 4, 6)
这给了我一条线——一次更换。我希望代码每次都对新获得的数组进行替换,例如:

([11,4,6],[2,9,6],[2,4,7]) ([11,4,6],[11,18,6],[11,4,16]),([19,9,6],[2,9,6],[2,9,12]),([12,4,7],[2,10,7],[2,4,7]))

我该怎么做

在每个时间步,将数组中的一个元素替换为其他2加1的和

在每个时间步,将数组中的一个元素替换为其他2加1的和

这是否有帮助:

def replace(x, y, z):
  ini_x = [y+z+1, y, z]
  ini_y = [x, x+z+1, z]
  ini_z = [x, y, x+y+1]
  return ini_x, ini_y, ini_z


s = replace(2, 4, 6)
print s
for i in s:
    print replace(i[0], i[1], i[2])
输出:

([11, 4, 6], [2, 9, 6], [2, 4, 7])
([11, 4, 6], [11, 18, 6], [11, 4, 16])
([16, 9, 6], [2, 9, 6], [2, 9, 12])
([12, 4, 7], [2, 10, 7], [2, 4, 7])
这是否有帮助:

def replace(x, y, z):
  ini_x = [y+z+1, y, z]
  ini_y = [x, x+z+1, z]
  ini_z = [x, y, x+y+1]
  return ini_x, ini_y, ini_z


s = replace(2, 4, 6)
print s
for i in s:
    print replace(i[0], i[1], i[2])
输出:

([11, 4, 6], [2, 9, 6], [2, 4, 7])
([11, 4, 6], [11, 18, 6], [11, 4, 16])
([16, 9, 6], [2, 9, 6], [2, 9, 12])
([12, 4, 7], [2, 10, 7], [2, 4, 7])

缩进似乎有问题,您希望替换多少次?现在尝试3次,但我可能希望以后更改为更多。因此,当它第一次循环时,它分别给出
([11,4,6],[2,9,6],[2,4,7])
for
x,y,z=2,4,6
,这是可以理解的。但当它第二次循环时,您希望新的
x,y,z
值是什么?我希望新的x,y,z值是在3个数组中获得的值(并对每个数组进行迭代)。例如,这里我希望它们是11,4,6(迭代这个),然后是2,9,6(然后迭代这个),然后是2,4,7(然后迭代这个),等等。这有意义吗?我发布了一个答案,尽管我仍然不能完全理解。但我的答案与你的答案一致,所以,请检查。缩进似乎有问题,您希望替换多少次?现在尝试3次,但我可能想稍后更改。因此,当它第一次循环时,它给出
([11,4,6],[2,9,6],[2,4,7])
对于
x,y,z=2,4,6
,这是可以理解的。但当它第二次循环时,您希望新的
x,y,z
值是什么?我希望新的x,y,z值是在3个数组中获得的值(并对每个数组进行迭代)。例如,这里我希望它们是11,4,6(迭代这个),然后是2,9,6(然后迭代这个),然后是2,4,7(然后迭代这个),等等。这有意义吗?我发布了一个答案,尽管我仍然不能完全理解。但是我的答案和你的一致,所以,看看吧。是的,这适用于前几个步骤!我如何修改它以保持每次都做相同的事情(在新获得的数组上)?好吧,函数只返回3个数组,所以不管怎样,我们只能迭代它3次,对吗?是的,这适用于前几个步骤!我如何修改它以保持每次都做相同的事情(在新获得的数组上)?好的,函数只返回3个数组,所以不管怎样,我们只能迭代它3次,对吗。