Вставка значений из короткого списка в длинный список

#python #iterator

#питон #итератор

Вопрос:

Проблема, с которой я столкнулся, заключается в том, что я хотел бы вставить значения из короткого списка в более длинный список в определенных местах, поэтому у нас есть List1 и List2

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

List2 = [99, 88, 111]
 

и в позиции x в списке 1 я хотел бы вставить значение из списка 2 (в том же порядке).
Чтобы получить конечный результат следующим образом:

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

Я пытался перебирать разные списки, но пока ничего не добился.
Я надеюсь, что кто-нибудь сможет мне помочь!

заранее благодарю

Комментарии:

1. Пожалуйста, обновите свой вопрос кодом, который вы пробовали.

Ответ №1:

Одним из способов может быть перебор первого списка и сопоставление элемента с 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)