โปรดทราบว่าคุณกำลังทดสอบข้อมูลประจำตัวของอ็อบเจ็กต์อยู่ ( is
จะส่งคืนก็ต่อTrue
เมื่อตัวถูกดำเนินการทั้งสองถูกแสดงโดยอ็อบเจ็กต์เดียวกันในหน่วยความจำซึ่งไม่ได้เป็นเช่นนั้นกับอ็อบเจ็กต์สองตัวที่เปรียบเทียบเท่ากัน==
เสมอไป) หากคุณกำลังทำสิ่งนี้โดยตั้งใจคุณสามารถเขียนรหัสของคุณใหม่เป็นไฟล์
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"}
>>> 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'}
ดังนั้นคุณอาจต้องการแทน!=
is not