检查对象列表中是否存在 class 属性 值

Check if class property value exists in list of objects

我有一个 class 有 2 个属性:

class ButtonPress():
    def __init__(self, time, button):
        self.time = time
        self.button = button

我创建了一个列表,其中包含 ButtonPress 个对象:

buttonlist = []
buttonlist.append(ButtonPress("25", "a")
buttonlist.append(ButtonPress("5", "b"))

如何检查列表中的任何对象是否具有特定的 time 值?我正在尝试:

if "25" in buttonlist[:]['time']
    print("yaaay")
else:
    print("feck")

但这不起作用。

使用any:

class ButtonPress():
    def __init__(self, time, button):
        self.time = time
        self.button = button

buttonlist = []
buttonlist.append(ButtonPress("25", "a"))
buttonlist.append(ButtonPress("5", "b"))

if any(button.time == "25" for button in buttonlist):
    print("yaaay")
else:
    print("feck")

输出

yaaay

使用 in 的替代方法如下:

if "25" in (button.time for button in buttonlist):