首页 > 解决方案 > 如何根据索引列表插入值?

问题描述

这是我遇到的问题。我有一个清单

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]

标签: python

解决方案


您可以通过从后面开始并从那里插入来获得结果:

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)

推荐阅读