首页 > 解决方案 > 在 Python 中,如何弹出列表的前 n 个元素并将它们附加到新列表中?

问题描述

如何弹出列表的前 n 个元素并将它们附加到不同的列表中?

所以,例如。

mylist = []
n = 3
mainlist = [5,4,3,2,1]

我将如何做到,所以我有

mainlist = [2,1]

mylist = [5,4,3]

我尝试了以下方法,但它不起作用,因为元素的位置在每次循环后都会发生变化:

for i in list(range(n)):
    mylist.append(mainlist.pop(i))

标签: python

解决方案


你可以只切片列表:

mainlist = [5,4,3,2,1]
n = 3
mainlist, mylist= a[:n], a[n:]

请记住,对于切片,第一个索引是包含的,而第二个是排除的,所以 mainlist 不会包含索引 3,但 mylist 会。


推荐阅读