如果所有元素都符合要求,则不使用"if all"



我正在学习一本书的python:练习是为了使程序打印成真,如果列表中的所有数字所有赔率。

我得到了这种方法

if all(x % 2 == 1 for x in list):

但是尚未解释"如果所有"方法。他们仅在示例中使用,而在示例中使用布尔。此外,似乎可以进行反思性的练习,也许不是。可以使用上述基本工具来进行?

如果您查看文档:https://docs.python.org/3/library/functions.html#all

全部(iTable(。
如果峰值的所有元素都是正确的(或者iToble是空的(,则返回true。等效于:

def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True

所以if all(x % 2 == 1 for x in li):大致转化为

def are_all_odds(num_list):
    #Flag to keep track if we encounter an even number
    flag = True
    for num in num_list:
        #Once we encounter a even number, we break the for loop
        if num % 2 != 1:
            flag = False
            break
    #Return the flag
    return flag

我们可以通过执行

来测试此功能
print(are_all_odds([1, 2, 3, 4]))
#False
print(are_all_odds([1, 3, 5]))
#True

也只是一个建议, list是一个python内置关键字,所以不要在变量中使用它:(

是的,这是可能的。

您编写的Python代码非常惯用,请继续做得很好。

要查看如何进行不同的操作,您可以查看不太先进的编程语言,例如C。这是一种非常基本的编程语言,缺乏此if all语句的功能。搜索" C所有元素数组true"应该为您提供所需的代码。对于如此简单的代码,很容易将代码转换回Python。

最新更新