python [x for x in line.split(' ') if len(x) > 0]这段代码能解析一下么?

如题所述

第1个回答  2019-04-04
后面的整个句子是一个generator expression,生成对的数据是满足要求的"x";要求是x属于line中以空格分割后的一个单词,数据长度大于0
第2个回答  推荐于2018-01-29
#相当于
for x in line.split(' '):
    if len(x)>0:
        #处理x的语句

追问

那最前面那个x有什么作用呢?
if len(x) > 0为ture的情况下执行的代码呢?

追答

那个X就是满足len(x)>0这个条件的x

追问

方括号里面的代码有什么作用?
仅仅是为了for循环并if判断一下就结束么?这段代码可不是一般人写的、别跟我说作者乱写什么的。

追答

方括号其实就是根据条件自动生成了一个list。最终结果是根据条件生成一个List以供使用

本回答被提问者和网友采纳
第3个回答  2018-01-29
a = []
for x in line.split(' '):
    if len(x)>0:
        a.append(x)
x= a

for word in x:
    ...

相似回答