我对编程很陌生,英语不好。即使我犯了错误也请理解。 这是我的问题,我想删除的对象是自窗体列表。 我怎样才能得到像第一次那样的结果呢 即使我切换到asd=ad\u material\u 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\u material\u name=['a','b','c']=ad\u material\u 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\u material\u name2
这是来自深度复制和浅复制的区别。 使用deepcopy可以解决您的问题。你知道吗
您可以使用itertools中的combinations函数来获得相同的结果。你知道吗
或者,如果需要创建ad\u material\u name2变量并为其指定排列,可以执行以下操作:
修改
至
这样“删除”操作就不会直接修改列表和材料名称2。你知道吗
相关问题 更多 >
编程相关推荐