将项目从一个列表移动到另一个列表时遇到问题

时间:2019-07-06 15:20:46

标签: python list for-loop append pop

我是python的新手,我正在尝试从一个列表中弹出项目,并使用for循环将其存储到另一个列表中,但是我无法获得所需的输出。

num1 = [1,2,3,4,5,6,7,8,9]
num2 = []

for m in num1:
    num = num1.pop()
    num2.append(num)

for p in num2:
    print(p)

预期输出为:

9
8
7
6
5
4
3
2
1

实际输出:

9
8
7
6
5

1 个答案:

答案 0 :(得分:0)

您需要获取列表中的.copy()

尝试一下

>>> num1 = [1,2,3,4,5,6,7,8,9]  
>>> num2 = []
>>> for m in num1.copy():
    num = num1.pop()
    num2.append(num)

另一种方法:

>>> num2 = num1.copy().reverse() # using built-in reverse method
    # remember reverse() will change the order in-place. so .copy() is used not to effect num1 order

输出:

>>> for p in num2:
    print(p)   
9
8
7
6
5
4
3
2
1