我可以使用列表元素作为变量吗?

时间:2018-11-06 20:16:04

标签: python

我希望能够根据列表中元素在列表中的位置来移动,其中该位置在我可以更改的函数中定义为变量。为什么下面的方法不起作用?

a = list("abcd")
b = list("efgh")

def move(start,end):
       end = start
       start = "."

move(a[1],b[3])

1 个答案:

答案 0 :(得分:2)

a[1]b[3]作为参数传递给move,而不是表达式本身。 move(a[1], b[3])a等价(根据bmove("b", "h")的定义)。

在函数内部,您要做的就是更改本地名称endstart的值,而不以任何方式修改ab的值

要执行您想要的操作,move除了需要将索引用作参数之外,还需要同时接收两个列表。例如,

def move(l1, l2, start, end):
     l2[end] = l1[start]
     l1[start] = "."

move(a, b, 1, 3)