Tôi mới trong Python. Tôi đang sử dụng Python v2.7.Kiểm tra xem một đối tượng (có giá trị thuộc tính nhất định) không có trong danh sách
tôi đã xác định một lớp đơn giản Product
:
class Product:
def __init__(self, price, height, width):
self.price = price
self.height = height
self.width = width
Sau đó, tôi đã tạo ra một danh sách, sau đó được nối với một đối tượng 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)
Sau đó, tôi tạo ra một đối tượng Product
mà được đặt cùng các giá trị khởi tạo (tất cả 3):
prod2 = Product(3,3,3)
Sau đó, tôi muốn kiểm tra xem prod_list
không chứa một đối tượng Product
có giá = 3, width = 3 & height = 3, bằng cách:
if prod2 not in prod_list:
print("no product in list has price=3, width=3 & height=3")
Tôi hy vọng không có in ra thông điệp, nhưng nó được in ra. Trong Python, làm thế nào tôi có thể kiểm tra nếu một danh sách không có một đối tượng với các giá trị tài sản nhất định sau đó?
** Lưu ý **: [Sự thật của 'x == y' không có nghĩa là 'x = y' là sai!. Theo đó, khi định nghĩa '__eq __()', ta cũng nên định nghĩa '__ne __()' để các toán tử sẽ hoạt động như mong đợi.] (Https://docs.python.org/2/reference/datamodel.html#object. __eq__) –
@AshwiniChaudhary, cảm ơn nhận xét tuyệt vời, nhưng bạn có thể vui lòng chỉ cho tôi cách xác định '__ne __()'? Tôi không có ý tưởng về nó mặc dù tôi đã đọc liên kết của bạn. –
@AshwiniChaudhary Thật vậy, cảm ơn bạn đã lưu ý. – Kasramvd