python - 想要从 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 ,我如何才能像我尝试的第一个一样获得结果
解决方案
调整
asd=ad_material_name2
至
asd=ad_material_name2.copy()
这样“删除”操作就不会直接修改列表 ad_material_name2。