Python 附加到列表的
。。。工作正常,但输出中缺少“a2”: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'] 我
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'])