Каков синтаксис для вставки одного списка в другой список в Python?
даны два списка:
x = [1,2,3]
y = [4,5,6]
что такое синтаксис:
- вставить
xнаyтакое, чтоyсейчас выглядит так:[1, 2, 3, [4, 5, 6]]? - вставить все предметы
xнаyтакое, чтоyсейчас выглядит так:[1, 2, 3, 4, 5, 6]?
5 ответов:
вы имеете в виду
append?>>> x = [1,2,3] >>> y = [4,5,6] >>> x.append(y) >>> x [1, 2, 3, [4, 5, 6]]или сливаешься?
>>> x = [1,2,3] >>> y = [4,5,6] >>> x + y [1, 2, 3, 4, 5, 6] >>> x.extend(y) >>> x [1, 2, 3, 4, 5, 6]
вопрос не дает понять, чего именно вы хотите достичь.
список
appendметод, который добавляет свой аргумент в список:>>> list_one = [1,2,3] >>> list_two = [4,5,6] >>> list_one.append(list_two) >>> list_one [1, 2, 3, [4, 5, 6]]есть еще
extendметод, который добавляет предметы из списка вы передаете в качестве аргумента:>>> list_one = [1,2,3] >>> list_two = [4,5,6] >>> list_one.extend(list_two) >>> list_one [1, 2, 3, 4, 5, 6]и конечно, есть
insertметод, который действует аналогичноappendно позволяет указать точку вставки:>>> list_one.insert(2, list_two) >>> list_one [1, 2, [4, 5, 6], 3, 4, 5, 6]для расширения a список в определенной точке вставки вы можете использовать нарезку списка (спасибо, @florisla):
>>> l = [1, 2, 3, 4, 5] >>> l[2:2] = ['a', 'b', 'c'] >>> l [1, 2, 'a', 'b', 'c', 3, 4, 5]нарезка списка довольно гибкая, так как позволяет заменить диапазон записей в списке диапазоном записей из другого списка:
>>> l = [1, 2, 3, 4, 5] >>> l[2:4] = ['a', 'b', 'c'][1:3] >>> l [1, 2, 'b', 'c', 5]
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]
Если вы хотите добавить элементы в список (list2) в конец другого списка (list), то вы можете использовать метод расширения списка
list = [1, 2, 3] list2 = [4, 5, 6] list.extend(list2) print list [1, 2, 3, 4, 5, 6]или если вы хотите объединить два списка, то вы можете использовать знак+
list3 = list + list2 print list3 [1, 2, 3, 4, 5, 6]