我有一個列表L
的對象(因爲它值得這是在scons中)。我想創建兩個列表L1
和L2
其中L1
是L
與項目I1
追加,並且L2
是L
,並附有項目I2
。python:列表操作
我會使用append
但修改原始列表。
我該如何在Python中做到這一點? (抱歉的初學者問題,我不使用的語言太多,只是針對scons)
我有一個列表L
的對象(因爲它值得這是在scons中)。我想創建兩個列表L1
和L2
其中L1
是L
與項目I1
追加,並且L2
是L
,並附有項目I2
。python:列表操作
我會使用append
但修改原始列表。
我該如何在Python中做到這一點? (抱歉的初學者問題,我不使用的語言太多,只是針對scons)
L1 = L + [i1]
L2 = L + [i2]
這可能是最簡單的方法。另一種選擇是複製的列表,然後追加:
L1 = L[:] #make a copy of L
L1.append(i1)
L1=list(L)
重複列表。我想你可以找出其餘的:)
你可以讓你列表
>>> x = [1, 2, 3]
>>> y = list(x)
>>> y.append(4)
>>> y
[1, 2, 3, 4]
>>> z = list(x)
>>> z.append(5)
>>> z
[1, 2, 3, 5]
或使用串聯的副本,這將使一個新的列表
>>> x = [1, 2, 3]
>>> y = x + [4]
>>> z = x + [5]
>>> y
[1, 2, 3, 4]
>>> z
[1, 2, 3, 5]
前者可能更具慣用/普通,但後者在這種情況下工作得很好。有些人也使用分片複製(x[:]
創建了一個新列表,其中包含原始列表x
的所有元素)或copy
模塊。這些都不是很糟糕,但我覺得前者有點神祕,後者有點愚蠢。
不錯,謝謝! – 2010-04-27 17:29:08