python:列表操作
问题描述:
我有一个列表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