首页 > 解决方案 > 想要从 Python 列表中删除对象本身

问题描述

我对编程很陌生,不擅长英语。即使我犯了错误,请理解。这是我的问题,我想删除对象是自我表单列表。即使我切换到 asd=ad_material_name2 ,我如何才能像我尝试的第一个一样获得结果

我尝试的是

ad_material_name=['a', 'b', 'c']
ad_material_name2=['a', 'b', 'c']

for aa in ad_material_name:  
    asd=['a', 'b', 'c']
    asd.remove(aa)
    print(asd)

结果是这样的

['b', 'c']
['a', 'c']
['a', 'b']

所以,我认为它有效。但是,当我尝试这个时

ad_material_name=['a', 'b', 'c']
ad_material_name2=['a', 'b', 'c']

for aa in ad_material_name:  
    asd=ad_material_name2
    asd.remove(aa)
    print(asd)

结果是这样的。

['b', 'c']
['c']
[]

我从这里认为这可能是 ad_material_name=['a', 'b', 'c']=ad_material_name2 的问题,它的效果如何。所以,我尝试了这个。

ad_material_name=['a', 'b', 'c']
ad_material_name2=['a', 'b', 'c', 'b']

for aa in ad_material_name:  
    asd=ad_material_name2
    asd.remove(aa)
    print(asd)

但是,结果是这样的

['b', 'c', 'd']
['c', 'd']
['d']

即使我切换到 asd=ad_material_name2 ,我如何才能像我尝试的第一个一样获得结果

标签: pythonlist

解决方案


调整

asd=ad_material_name2

asd=ad_material_name2.copy()

这样“删除”操作就不会直接修改列表 ad_material_name2。


推荐阅读