2017-05-05 59 views
0

我有一组Order对象,每个对象都有自己的一组属性,其中之一是ticket_number如何迭代对象数组并检查属性是否存在?

全部Order对象有属性ticket_number;其中一些可能有价值,其中一些可能为BlankNull

在Order对象的数组中,如何检查每个对象是否具有此属性?我希望函数返回true,如果它甚至存在一个对象,并且如果它不存在所有这些对象,则返回false。

我尝试这样做:

def has_ticket_number(Order): 
    for orders in Order: 
     if orders.ticket_number: 
      result = True 
     else: 
      result = False 

    return result 

但它始终返回false。我究竟做错了什么?

+0

所有的订单有一个属性叫做TICKET_NUMBER,有些人可能有一个值,有些也许空白或为空 – DeA

+1

“有这个属性” - 意思是有些根本没有'ticket_number',试图引用它会给你一个'AttributeError' - 或者属性总是存在,并且你想知道是否有东西在里面。如果是后者,你能否将你的问题改写一下? – tdelaney

+0

@tdelaney在那里,重新写了。 – DeA

回答

2

返回True当你发现第一个:

def has_ticket_number(Order): 
    for orders in Order: 
     if orders.ticket_number: 
      return True 
    return False 

就更简单了,使用any()功能:

def has_ticket_number(Order): 
    return any(orders.ticket_number for orders in Order) 
+0

是的,这是完美的作品!我不知道'任何',非常感谢你! – DeA

相关问题