换句话说,我想完成如下的事情:
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,4,6,8]
解决方法
您可以分配到
slice的列表,如下所示:
>>> a = [1,8] >>> b = [4,6] >>> a[3:3] = b >>> a [1,8] >>>
[3:3]可能看起来很奇怪,但是有必要将列表b中的项目正确插入到列表中.否则,如果我们要分配给a的索引,则列表b本身将被插入:
>>> a = [1,6] >>> a[3] = b >>> a [1,[4,6],8] >>>
我试图找到明确提到这种行为的文档链接,但是不成功(如果可以找到它,请随意添加一个).所以,我只是说,做一个[3:3] = b告诉Python把列表b中的项目放在列表a的一部分[3:3]中.此外,Python将根据需要扩展列表a以适应此操作.
简而言之,这只是Python的另一个令人敬畏的功能. 原文链接:https://www.f2er.com/python/186037.html