请注意,您当前正在测试对象的身份(
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。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)