换句话说,我想完成以下内容:
a = [1, 2, 3, 7, 8]
b = [4, 5, 6]
# some magic here to insert list b into list a at index 3 so that
a = [1, 2, 3, 4, 5, 6, 7, 8]
答案 0 :(得分:12)
您可以像这样分配slice列表a
:
>>> a = [1, 2, 3, 7, 8]
>>> b = [4, 5, 6]
>>> a[3:3] = b
>>> a
[1, 2, 3, 4, 5, 6, 7, 8]
>>>
[3:3]
可能看起来很奇怪,但有必要将列表b
中的项正确插入列表a
。否则,如果我们要分配到a
的索引,则会插入列表b
本身:
>>> a = [1, 2, 3, 7, 8]
>>> b = [4, 5, 6]
>>> a[3] = b
>>> a
[1, 2, 3, [4, 5, 6], 8]
>>>
我试图找到明确提到这种行为的文档链接,但是没有成功(如果你能找到它,请随意添加一个)。所以,我只是说做a[3:3] = b
告诉Python取列表b
中的项目并将它们放在a
所代表的列表[3:3]
部分中。此外,Python将根据需要扩展列表a
以适应此操作。
简而言之,这只是Python的另一个很棒的功能。 :)
答案 1 :(得分:2)
尝试使用sort方法,如下所示:
>>> a = [1,2,3,7,8]
>>> b = [4,5,6]
>>> a = sorted(a+b)
>>> a
[1, 2, 3, 4, 5, 6, 7, 8]