Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 附加到列表的_Python_List - Fatal编程技术网

Python 附加到列表的

Python 附加到列表的,python,list,Python,List,。。。工作正常,但输出中缺少“a2”: L = ['abc', 'ADB', 'aBe'] L[len(L):]=['a1', 'a2'] # append items at the end... L[-1:]=['a3', 'a4'] # append more items at the end... 问题是: ['abc', 'ADB', 'aBe', 'append', 'a1', 'a3', 'a4'] 或 要将项目附加到列表中,可以使用+ L += ['a1', 'a2'] 我

。。。工作正常,但输出中缺少“a2”:

L = ['abc', 'ADB', 'aBe']

L[len(L):]=['a1', 'a2'] # append items at the end...
L[-1:]=['a3', 'a4'] # append more items at the end...
问题是:

['abc', 'ADB', 'aBe', 'append', 'a1', 'a3', 'a4']


要将项目附加到列表中,可以使用+

L += ['a1', 'a2']

我认为-1指向列表的最后一个元素,它被“a3”覆盖。如前所述,您可以执行以下操作:

L + ["a1","a2"]

您的第三个赋值正在覆盖“a2”值

也许您应该使用更直接的方法:

list.extend(['a3', 'a4'])
使用L.append表示单个元素,或使用L.extend表示序列-绝对不需要玩“分配到切片”的花式技巧,尤其是在您不掌握它们的情况下!-。slice[-1:]表示从前面包含的最后一个元素-因此,通过分配给该slice,您显然覆盖了最后一个元素

使用扩展方法

L = ['abc', 'ADB', 'aBe']
L += ['a1', 'a2']
L += ['a3', 'a4']
Etc.

为什么不使用python的列表附加和扩展函数呢+1-追加,但我正在学习测试各种方法;+创建一个新列表,使其比就地更改慢。+可以创建一个新列表,但@Pynt发布的+=不能。
L = ['abc', 'ADB', 'aBe']
L += ['a1', 'a2']
L += ['a3', 'a4']
Etc.
L = ['abc', 'ADB', 'aBe']
L.extend(['a1', 'a2'])
L.extend(['a3', 'a4'])