你可以使用for循环遍历列表,然后使用if语句来查找布尔属性。如果找到了布尔属性,则返回对应的值;如果没有找到,则返回默认值false。
下面是一个示例代码:
def find_bool_attr(lst, attr_name, default=False):
for item in lst:
if hasattr(item, attr_name):
return getattr(item, attr_name)
return default
# 示例数据
class Item:
def __init__(self, attr):
self.attr = attr
items = [Item(True), Item(False), Item(True)]
# 查找布尔属性并返回结果
result = find_bool_attr(items, 'attr', False)
print(result) # 输出:True
result = find_bool_attr(items, 'attr2', False)
print(result) # 输出:False
在上面的示例代码中,find_bool_attr
函数接受三个参数:列表lst
,布尔属性的名称attr_name
,以及默认值default
。函数使用for循环遍历列表中的每个元素,并使用hasattr
方法检查每个元素是否有指定的布尔属性。如果找到了布尔属性,则使用getattr
方法获取属性的值并返回。如果没有找到布尔属性,则返回默认值false。
上一篇:遍历列表并自动化算法的问题
下一篇:遍历列表创建不同对象的函数