Как вставить содержимое одного списка в другой

Я пытаюсь объединить содержимое двух списков, чтобы позже выполнить обработку всего набора данных. Сначала я посмотрел на встроенную функцию insert, но вставлял ее как список, а не содержимое списка.

Я могу срезать и добавлять списки, но есть ли более чистый/более Pythonic способ делать то, что я хочу, чем это:

array    = ['the', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
addition = ['quick', 'brown']

array = array[:1] + addition + array[1:]

Ответ 1

Вы можете сделать следующее, используя синтаксис среза в левой части задания:

>>> array = ['the', 'fox', 'jumped', 'over', 'the', 'lazy', 'dog']
>>> array[1:1] = ['quick', 'brown']
>>> array
['the', 'quick', 'brown', 'fox', 'jumped', 'over', 'the', 'lazy', 'dog']

Что-то о Питонине, как оно получается!

Ответ 2

Метод extend объекта списка делает это, но в конце исходного списка.

addition.extend(array)

Ответ 3

insert(i,j), где i - индекс, а j - это то, что вы хотите вставить, не добавляет в список. Вместо этого он добавляет элемент списка:

array = ['the', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']
array.insert(1,'brown')

Новый массив:

array = ['the', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']