Skip to main content
 首页 » 编程设计

python之检索列表中的所有对象是否对python中的属性具有相同的值

2025年05月04日9hnrainll

我想知道如何快速查看列表中的所有对象是否都将属性设置为特定值,如果是,则运行一段代码。到目前为止,在我编写的任何需要这个的程序中,我都做了类似于下面代码的事情。

listOfObjects = [] 
class thing(): 
    def __init__(self): 
        self.myAttribute = "banana" 
        listOfObjects.append(self) 
def checkStuff(): 
    doSomething = True 
    for i in listOfObjects: 
        if i.myAttribute != "banana": 
            doSomething = False 
    if doSomething: print("All bananas, sir!") 

我正在寻找的是这样的东西:

if listOfObjects.myAttribute == "banana": 
    print("All bananas, sir!") 

请您参考如下方法:

您可以在 all 函数中使用生成器表达式。

def checkStuff(): 
    doSomething = all(i.myAttribute == 'banana' for i in listOfObjects) 
    if doSomething: print("All bananas, sir!")