python中删除数组元素的相关问题
/python code
train = [1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,23]
data = train
del data[0::10]
>>> data
[2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23]
>>> train
[2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23]
这不是我的初衷,我的初衷是要求train一直不变的,所以我把train赋值给data,对data进行操作,但结果却同时影响了train。怎样对data操作而不改变train呢?
[解决办法]
data = train[:]
[解决办法]
list的复制 L1 = L #L1为L的别名,用C来说就是指针地址相同,对L1操作即对L操作。函数参数就是这样传的 L1 = L[:] #L1为L的克隆,即另一个拷贝。