if对列表中每个项目的声明

Han*_* N. 0 python if-statement

我试图在python中执行类似下面的操作,但是我收到了无效的语法错误:

network_n = 192.168.38
octate_n = network_n.split(".")
if (len(o) [for o in octate_n]) == 3:
Run Code Online (Sandbox Code Playgroud)

但当我运行它,我得到:

if (len(o) [for o in octate_n]) == 3:
                  ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我的问题是if语句,那里有什么问题?

我承认,我对之差一个粗略的想法()[]if语句,所以我会很高兴,你给我说说它的简短说明.

Bjö*_*lex 6

用途all:

if(all(len(o) == 3 for o in octate_n)):
    # do stuff
Run Code Online (Sandbox Code Playgroud)

关于你的秒问题,[o for o in octate_n]创建一个包含所有项目octate_n列表(这称为列表推导),同时(o for o in octate_n)创建一个生成器,它将生成所有项目octate_n(这称为生成器表达式).