Answers:
你是说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]
x.extend(y)
到位,x+y
正在返回新列表。和x += y
,这里没有提到,和扩展类似。
问题并没有明确说明您到底想要实现什么。
List具有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]
要在特定的插入点扩展列表,可以使用列表切片(感谢@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]
[1,2,4,5,6,3]
你也可以做...
x += y
x + y
且x += y
只是同一件事,但仍然存在。
如果我们只是这样做x.append(y)
,则y被引用到x中,这样对y所做的任何更改也会影响附加的x。因此,如果只需要插入元素,则应执行以下操作:
x = [1,2,3]
y = [4,5,6]
x.append(y[:])