[英]Appending to a List
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']
我认为-1指向列表的最后一个元素,该元素被'a3'覆盖。 如上所述在这里 ,你可以做一个
list.extend(['a3', 'a4'])
使用L.append
(用于单个元素)或L.extend
(用于序列)-绝对不需要玩花哨的“分配给切片”技巧(尤其是如果您不掌握它们的话!)。 切片[-1:]
意思是“ 包含了最后一个元素”-因此,通过分配给该切片,您显然可以“覆盖”最后一个元素!
出什么问题了:
L.append('a1')
要么
L += ['a1', 'a2']
要将项目追加到列表中,可以使用+
L + ["a1","a2"]
您的第3个作业正在覆盖“ a2”值。
也许您应该使用更直接的方法:
L = ['abc', 'ADB', 'aBe']
L += ['a1', 'a2']
L += ['a3', 'a4']
Etc.
使用扩展方法
L = ['abc', 'ADB', 'aBe']
L.extend(['a1', 'a2'])
L.extend(['a3', 'a4'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.