lte*_*e__ 0 python attributes class any
我有一个有 2 个属性的类:
class ButtonPress():
def __init__(self, time, button):
self.time = time
self.button = button
Run Code Online (Sandbox Code Playgroud)
我创建一个列表,ButtonPress其中包含对象:
buttonlist = []
buttonlist.append(ButtonPress("25", "a")
buttonlist.append(ButtonPress("5", "b"))
Run Code Online (Sandbox Code Playgroud)
如何检查列表中的任何对象是否具有特定time值?我想:
if "25" in buttonlist[:]['time']
print("yaaay")
else:
print("feck")
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。
使用任何:
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")
Run Code Online (Sandbox Code Playgroud)
输出
yaaay
Run Code Online (Sandbox Code Playgroud)
另一种使用方法in如下:
if "25" in (button.time for button in buttonlist):
Run Code Online (Sandbox Code Playgroud)