繁体   English   中英

追加到列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM