首页 > 解决方案 > 将短列表中的值插入长列表

问题描述

我遇到的问题是我想将候选列表中的值插入到特定位置的较长列表中,所以我们有 List1 和 List2

List1 = [10, 20, x, 50, x 100, 20, x] 

List2 = [99, 88, 111]

在 List1 的 x 位置上,我想从 List2 插入一个值(以相同的顺序)。得到如下的最终结果:

List_result = [10, 20, 99, 50, 88, 100, 20, 111]

我试图迭代不同的列表,但到目前为止还没有取得任何进展。我希望有人可以帮助我!

先感谢您

标签: pythoniterator

解决方案


一种方法是遍历第一个列表并将元素与x第二个列表中的索引匹配并替换为:

List1 = [10, 20, 'x', 50, 'x', 100, 20, 'x']

List2 = [99, 88, 111]

i = 0
for indx, l1 in enumerate(List1):
    if 'x' == l1 :
        List1[indx] = List2[i]
        i += 1
print(List1)

输出:

[10, 20, 99, 50, 88, 100, 20, 111]

编辑

创建新列表的另一种方法:

new_lst = []
for x in List1:
    if x != 'x':
        new_lst.append(x)
    else:
        for y in List2:
            new_lst.append(y)

print(new_lst)

推荐阅读