我正在尝试从列表中删除一些项目,而所需的索引在另一个列表中。
我尝试过list.pop(),但它也会从父列表中删除项目,就像list.remove()
sequence = [3, 6, 5, 8, 10, 20, 15]
sortS = sorted(sequence)
seq = sequence
for i in range(len(sequence)):
seq.remove(sequence[i])
sortS.remove(sequence[i])
print(sequence)
>>>[]
答案 0 :(得分:1)
将1个列表元素分配给其他元素时,请使用.copy()
。在Python中,它仅引用该变量,如果对该变量进行了任何更改,也将引用该变量。
使用.copy()
将创建新的内存空间,对此所做的任何更改都不会影响原始
sequence = [3, 6, 5, 8, 10, 20, 15]
sortS = sorted(sequence)
seq = sequence.copy()
for i in range(len(sequence)):
seq.remove(sequence[i])
sortS.remove(sequence[i])
print(sequence)
输出
[3, 6, 5, 8, 10, 20, 15]