当我运行下面的代码时,它从B
中删除deleted_partner
。但是,它从B
中删除它也从A
中删除它。所以当我试图从A
中删除它时,程序崩溃。问题是什么?变量引用而不是复制
for deleted_partner in self.list_of_trading_partners:
B = A[:]
print("t", deleted_partner)
print(B[self.ID].list_of_trading_partners)
B[self.ID].list_of_trading_partners.remove(deleted_partner)
Round_neo_classic(B)
Round_costs(B)
if B[self.ID].final_good > reference_value:
print("d", deleted_partner)
print(A[self.ID].list_of_trading_partners)
A[self.ID].list_of_trading_partners.remove(deleted_partner)
输出:
('t', 1)
[1, 2, 3, 4]
('d', 1)
[2, 3, 4]
是python 3还是你有自定义打印功能? – 2009-12-22 12:42:00
'print(“Fine in Py2 too”)''因为这些括号只是组合而且在这里没有效果。 – 2009-12-22 12:59:53