Если вы хотите , чтобы «расширить» до точки вставки конкретно, вы можете использовать список нарезки синтаксиса (см stackoverflow.com/a/7376026/1075152 )
florisla
5
@ florisla комментарий должен быть принятым ответом. Это единственный способ вставить список в другой список в произвольном месте (не только в конце).
ткач
1
@weaver Хотя это единственное решение сделать что (продлить на индекс конкретного), который был не оригинальный вопрос.
Флорисла
@florisla Это педантизм.
ткач
31
foo =[1,2,3]
bar =[4,5,6]
foo.append(bar)-->[1,2,3,[4,5,6]]
foo.extend(bar)-->[1,2,3,4,5,6]
Если мы просто сделаем это x.append(y), y получит ссылку на x, так что любые изменения, внесенные в y, также повлияют на добавленный x. Поэтому, если нам нужно вставить только элементы, мы должны сделать следующее:
listA.insert(pos, x) for x in listB[::-1]
?Ответы:
Вы имеете в виду
append
?Или слить?
источник
x.extend(y)
находится на месте,x+y
возвращает новый список. Иx += y
, что здесь не упоминалось, похоже на расширение.Вопрос не дает понять, чего именно вы хотите достичь.
Список имеет
append
метод, который добавляет свой аргумент в список:Также есть
extend
метод, который добавляет элементы из списка, который вы передаете в качестве аргумента:И, конечно, есть
insert
метод, который действует аналогично,append
но позволяет вам указать точку вставки:Чтобы расширить список в определенной точке вставки, вы можете использовать нарезку списка (спасибо, @florisla):
Разрезание списка довольно гибкое, так как позволяет заменить диапазон записей в списке диапазоном записей из другого списка:
источник
http://docs.python.org/tutorial/datastructures.html
источник
[1,2,4,5,6,3]
Вы также можете просто сделать ...
источник
x + y
иx += y
это то же самое, но на месте.Если вы хотите добавить элементы в списке (list2) в конец другого списка (list), то вы можете использовать метод расширения списка
Или, если вы хотите объединить два списка, вы можете использовать знак +
источник
Если мы просто сделаем это
x.append(y)
, y получит ссылку на x, так что любые изменения, внесенные в y, также повлияют на добавленный x. Поэтому, если нам нужно вставить только элементы, мы должны сделать следующее:x = [1,2,3] y = [4,5,6] x.append(y[:])
источник