Я новичок в Python. Я использую Python v2.7.Проверьте, нет ли объекта (с определенными значениями свойств) в списке
я определил простой класс Product
:
class Product:
def __init__(self, price, height, width):
self.price = price
self.height = height
self.width = width
Затем я создал список, который затем добавляется с Product
объекта:
# empty list
prod_list = []
# append a product to the list, all properties have value 3
prod1 = Product(3,3,3)
prod_list.append(prod1)
Затем я создал еще один Product
объект, который устанавливаются одинаковые значения инициализации (все 3):
prod2 = Product(3,3,3)
Тогда, я хочу, чтобы проверить, если prod_list
не содержит Product
объект, который имеет цены = 3, ширина = 3 & высота = 3, путем:
if prod2 not in prod_list:
print("no product in list has price=3, width=3 & height=3")
Я ожидаю, что нет распечатывают сообщение, но распечатывается. В Python, как я могу проверить, нет ли в списке объектов с определенными значениями свойств?
** Примечание **: [Правда 'х == y' не означает, что' х = y' ложно!. Соответственно, при определении '__eq __()' следует также определить '__ne __()', чтобы операторы действовали должным образом.] (Https://docs.python.org/2/reference/datamodel.html#object. __eq__) –
@AshwiniChaudhary, спасибо за отличный комментарий, но не могли бы вы показать мне, как определить '__ne __()'? Я понятия не имею об этом, хотя прочитал вашу ссылку. –
@AshwiniChaudhary Действительно, спасибо за внимание. – Kasramvd