我正在尝试创建一个函数,当一个列表为空时,第二个列表将以相反的顺序清空到空列表中。现在,我尝试这样做:
a = [1,2,3,4]
b = []
def a_to_b(a, b):
if not a:
print('a:',a)
print('b:',b)
for c in b:
a.append(c)
b.remove(c)
print('a:',a)
print('b:',b)
return True
else:
top = a.pop()
b.append(top)
print('a:',a)
print('b:',b)
return True
我希望它在每次运行之后:
1) a = [1,2,3]
b = [4]
2) a = [1,2]
b = [4,3]
3) a = [1]
b = [4,3,2]
4) a = []
b = [4,3,2,1]
5) a = [1,2,3,4]
b = []
但是在第五次运行之后它给了我
a = [4,2]
b = [3,1]
而且我不明白为什么它只适用于 b 中的所有其他数字。
请您参考如下方法:
这应该有效
a = [1,2,3,4]
b = []
对于范围内的我(len(a)):
b.append(a[-1])
a.pop()
打印 a,b
