python - 在 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))
解决方案
你可以只切片列表:
mainlist = [5,4,3,2,1]
n = 3
mainlist, mylist= a[:n], a[n:]
请记住,对于切片,第一个索引是包含的,而第二个是排除的,所以 mainlist 不会包含索引 3,但 mylist 会。
推荐阅读
- python - 使用 pandas 读取每日时间序列并重新采样到每月
- maven - 将 jhipster 微服务推送到 Cloud Foundry 时出现抽象方法错误
- ios - 注销/登录时刷新 UI 选项卡栏控制器状态
- android - 正在寻找一种在 Android 中使用 Google 地图按类别隐藏/显示标记组的智能方法?
- python - 应该测试 tdd 的静态文本,例如电子邮件主题?
- javascript - HTML Range 元素值未使用 Angular6 函数更新
- node.js - Passport JWT 身份验证提取令牌
- javascript - 数据切换不工作引导
- asp.net-mvc - MVC 动态视图绑定到已知和未知属性的属性字典
- ios - 图像后跟使用 UITextView 的垂直列表格式的文本