Khi tôi cố gắng hoặc/và hai bộ sử dụng toán tử &=
và |=
, tôi nhận được một số kết quả lạ.Python: & = toán tử
s1 = {1,2,3}
s2 = {2,3,4}
tmp = s1
tmp &= s2
Như dự kiến, tmp sẽ là {2,3}, nhưng tôi không biết tại sao s1
cũng thay đổi giá trị thành {2,3}.
Tuy nhiên, nếu tôi làm:
tmp = tmp & s2
Sau đó, s1
sẽ không thay đổi! Bất cứ ai có thể giải thích cho tôi những gì xảy ra bên dưới nhà điều hành &=
?
Bạn nên copy 's1' bởi giá trị và không bằng cách tham khảo – SomethingSomething