python - 如何根据索引列表插入值?
问题描述
这是我遇到的问题。我有一个清单
f = [2,4,8,10,72,52,50,65,100,85,15]
list_for_loop = [3,5,8]
我如何在基于此列表的索引之前插入一个值(不包括第一个索引)?
我现在正在尝试这个:
for index in list_for_loop:
if index ! = list_for_loop[0]:
f[index].insert(0)
结果与我预期的不同,因为每次我插入一个值时列表索引都会改变
希望我能找到一种方法来处理滑动索引。我期望的输出:
f = [2,4,8,0,10,72,0,52,50,65,0,100,85,15]
解决方案
您可以通过从后面开始并从那里插入来获得结果:
for i in reversed(list_for_loop):
f.insert(i, 0)
正如@Barmar 所说,如果list_for_loop
不是按升序排列,则对其进行反向排序:
for i in sorted(list_for_loop, reverse=True):
f.insert(i, 0)
推荐阅读
- elasticsearch - Logstash REST 过滤器 - 限制速度
- java - android-text 视图中的字母空间
- bash - 如何在文件bash中循环打开和结束字符串?
- terraform - 使用 Terraform 创建 azurerm_virtual_machine 资源时,有什么方法可以避免 storage_os_disk 继承标签?
- ms-access - 访问 - 字段验证规则 - 限制为 1 种语言
- java - NoClassDefFoundError:Maven 模块间依赖
- vbscript - 任务计划程序问题 - 无论用户是否登录都运行不工作
- c++ - QLabel 变成黑色而不是透明
- angular6 - 角度项目中的嵌套组件调用?
- excel - 是否有另一种方法可以在 VBA 中第二次出现 dateTime?