给出两个清单:
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]
?答案 0 :(得分:327)
您的意思是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]
答案 1 :(得分:61)
这个问题并不能说明你想要达到的目的。
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]
答案 2 :(得分:29)
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]
答案 3 :(得分:2)
如果要将列表(list2)中的元素添加到其他列表(列表)的末尾,则可以使用list extend方法
list = [1, 2, 3]
list2 = [4, 5, 6]
list.extend(list2)
print list
[1, 2, 3, 4, 5, 6]
或者如果你想连接两个列表,那么你可以使用+ sign
list3 = list + list2
print list3
[1, 2, 3, 4, 5, 6]
答案 4 :(得分:2)
你也可以......
x += y
答案 5 :(得分:0)
如果我们只做x.append(y)
,则y被引用到x中,因此对y所做的任何更改也会影响附加的x。因此,如果我们只需要插入元素,则应该执行以下操作:
x = [1,2,3]
y = [4,5,6]
x.append(y[:])