Каков синтаксис для вставки одного списка в другой список в 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]