L = ['abc', 'ADB', 'aBe']
L[len(L):]=['a1', 'a2'] # append items at the end...
L[-1:]=['a3', 'a4'] # append more items at the end...
...有效,但输出中缺少'a2':
['abc', 'ADB', 'aBe', 'append', 'a1', 'a3', 'a4']
答案 0 :(得分:3)
我认为-1指向列表的最后一个元素,它被'a3'覆盖。如上所述here,您可以执行
list.extend(['a3', 'a4'])
答案 1 :(得分:3)
使用L.append
(对于单个元素)或L.extend
(对于序列) - 绝对没有要求播放花哨的“分配到切片”技巧(特别是如果你不这样做)掌握他们! - )。切片[-1:]
表示“最后一个元素包含” - 因此,通过指定该切片,您显然会“覆盖”最后一个元素!
答案 2 :(得分:1)
有什么问题:
L.append('a1')
或
L += ['a1', 'a2']
答案 3 :(得分:1)
将项目附加到列表中,您可以使用+
L + ["a1","a2"]
答案 4 :(得分:1)
你的第3个作业正在覆盖'a2'值。
也许您应该使用更简单的方法:
L = ['abc', 'ADB', 'aBe']
L += ['a1', 'a2']
L += ['a3', 'a4']
Etc.
答案 5 :(得分:0)
使用extend方法
L = ['abc', 'ADB', 'aBe']
L.extend(['a1', 'a2'])
L.extend(['a3', 'a4'])