在python中将一个列表插入另一个列表的语法是什么?

python list append extend

214544 观看

6回复

1914 作者的声誉

给出两个列表:

x = [1,2,3]
y = [4,5,6]

语法是什么:

  1. 插入xy这样y现在看起来像[1, 2, 3, [4, 5, 6]]
  2. 插入的所有项目x进入y,使得y现在的样子[1, 2, 3, 4, 5, 6]
作者: Compuser7 的来源 发布者: 2010 年 9 月 20 日

回应 (6)


29

10036 作者的声誉

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]

http://docs.python.org/tutorial/datastructures.html

作者: Coding District 发布者: 20.09.2010 12:43

320

382740 作者的声誉

决定

你的意思是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] 
作者: Paolo Bergantino 发布者: 20.09.2010 12:46

55

7463 作者的声誉

问题并不清楚你想要实现什么。

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]
作者: Sergey 发布者: 20.09.2010 12:51

2

105 作者的声誉

如果要将列表(list2)中的元素添加到其他列表(列表)的末尾,则可以使用list extend方法

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]
作者: squal 发布者: 12.10.2017 09:10

2

33 作者的声誉

你也可以......

x += y
作者: user3707850 发布者: 19.11.2017 12:59

0

106 作者的声誉

如果我们这样做x.append(y),y会被引用到x中,这样对y所做的任何更改都会影响附加的x。因此,如果我们只需要插入元素,我们应该做以下事情:

x = [1,2,3] y = [4,5,6] x.append(y[:])

作者: Raj Stha 发布者: 15.03.2019 09:03
32x32