簡體   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