2024-04-25 16:53:29 发布
网友
我希望能够根据元素在列表中的位置来移动列表中的元素,其中该位置被定义为我可以更改的函数中的变量。为什么下面不起作用?你知道吗
a = list("abcd") b = list("efgh") def move(start,end): end = start start = "." move(a[1],b[3])
a[1]和b[3]的值作为参数传递给move,而不是表达式本身。move(a[1], b[3])等价于a和b的定义。你知道吗
a[1]
b[3]
move
move(a[1], b[3])
a
b
在函数内部,您所做的只是更改本地名称end和start的值,而不是以任何方式修改a和b的值。你知道吗
end
start
要做您想做的事情,move除了作为参数的索引外,还需要接收两个列表。例如
def move(l1, l2, start, end): l2[end] = l1[start] l1[start] = "." move(a, b, 1, 3)
a[1]
和b[3]
的值作为参数传递给move
,而不是表达式本身。move(a[1], b[3])
等价于a
和b
的定义。你知道吗在函数内部,您所做的只是更改本地名称
end
和start
的值,而不是以任何方式修改a
和b
的值。你知道吗要做您想做的事情,
move
除了作为参数的索引外,还需要接收两个列表。例如相关问题 更多 >
编程相关推荐