附加到列表

时间:2009-11-21 05:37:53

标签: python 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']

6 个答案:

答案 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'])