Python 如何检查if语句中可变长度列表的元素
我是python新手 我有一张旗帜的清单。这个列表的长度是可变的。我想检查列表中的所有变量是否都是真的 我试过了Python 如何检查if语句中可变长度列表的元素,python,list,if-statement,Python,List,If Statement,我是python新手 我有一张旗帜的清单。这个列表的长度是可变的。我想检查列表中的所有变量是否都是真的 我试过了 if (all in flags[x]==True): finalFlags[x-1]=True 但当只有一个标志为真时,最终的标志变为真 finalFlags = False if all(flags): finalFlags=True 编辑:根据Chris的评论简化: finalFlags = all(flags) 由于您没有发布示例,我可以这样假
if (all in flags[x]==True):
finalFlags[x-1]=True
但当只有一个标志为真时,最终的标志变为真
finalFlags = False
if all(flags):
finalFlags=True
编辑:根据Chris的评论简化:
finalFlags = all(flags)
由于您没有发布示例,我可以这样假设:
my_flags = [True, False, True, True, True, False]
valid_flags = 0
for flag in my_flags:
if flag == True:
valid_flags += 1
if len(my_flags) == valid_flags:
print("Total match")
else:
print("Matched ", valid_flags, " out of ", len(my_flags))
所有和任何函数都可用于检查列表中的布尔值
test_list = []
如果iterable的所有元素都被视为真值(如reduce(operator.and_u,iterable)),则all(iterable)返回True
如果iterable中至少有一个元素是真值(同样,使用函数填充,reduce(operator.or,iterable)),则any(iterable)返回True
当您需要检查所有值是否为真时,您可以使用all()函数,如下所示
all(test_list) #will return true
此外,您可以使用any()检查所有为true的值,但此时,您需要将列表元素从true转换为false,并检查是否存在任何true,我们可以说原始列表中存在false,并且在出现任何()返回false,这意味着没有真值,因此在原始列表中没有真值
not all(not element for element in data)
只需
all(flags)
?all()是最简单的使用方法,我们也可以使用any(),如果您愿意,您是否建议一门课程或一本书来深入学习python。特别是对于艾索里,我不能特别推荐任何书籍。尽管有很多免费的课程。也许从编解码器开始。如果你对AI方向感兴趣,他们有一个python机器学习课程。