Lưu ý rằng bạn hiện đang kiểm tra nhận dạng đối tượng ( is
chỉ trả về True
nếu cả hai toán hạng được biểu diễn bởi cùng một đối tượng trong bộ nhớ - điều này không phải lúc nào cũng xảy ra với hai đối tượng so sánh bằng ==
). Nếu bạn đang cố tình làm điều này, thì bạn có thể viết lại mã của mình dưới dạng
some_dict = {key: value for key, value in some_dict.items()
if value is not value_to_remove}
Nhưng điều này có thể không làm những gì bạn muốn:
>>> some_dict = {1: "Hello", 2: "Goodbye", 3: "You say yes", 4: "I say no"}
>>> value_to_remove = "You say yes"
>>> some_dict = {key: value for key, value in some_dict.items() if value is not value_to_remove}
>>> some_dict
{1: 'Hello', 2: 'Goodbye', 3: 'You say yes', 4: 'I say no'}
>>> some_dict = {key: value for key, value in some_dict.items() if value != value_to_remove}
>>> some_dict
{1: 'Hello', 2: 'Goodbye', 4: 'I say no'}
Vì vậy, bạn có thể muốn !=
thay vì is not
.