if any(j != " " for j in i): 是啥意思?

Posted

技术标签:

【中文标题】if any(j != " " for j in i): 是啥意思?【英文标题】:what does if any(j != " " for j in i): mean?if any(j != " " for j in i): 是什么意思? 【发布时间】:2017-07-20 09:56:00 【问题描述】:
if any(j != " " for j in i):

izip_longest 是什么意思

还有一个网站可以定义所有这些吗?

【问题讨论】:

为什么你的标签里有java和python? 这个问题与Java无关。请不要使用不相关的标签。 请澄清,你想问什么? 您的代码示例中没有izip_longest 我只是想知道每一件事情的意义,比如 j, != , " ", for j in i 的目的是什么 【参考方案1】:

一步一步:

    (j != " " for j in i) 返回带有布尔元素 (True, False) 的生成器

例子:

i = ['a','b','c',' ', 'd']
gener = (j != " " for j in i)
print list(gener)
[True, True, True, False, True]
    function any():如果列表中的任何元素为 True,则返回 True。如果列表为空,则返回 False。

例子:

print any([True,False,False])
True

print any([False,False,False])
False

print any([])
False

所以,表达式 any(j != " " for j in i) 如果列表 i !=" " 中的任何元素返回 True,如果列表 i 中的所有元素等于 " " 或 i 为空,则返回 False

【讨论】:

【参考方案2】:

!= 表示不相等

for j in i 表示遍历 i 的每个元素并将结果放入 j 中

例如,如果 i 是这样的列表:

i=[" ", " ", " "]

然后 j != " " for j in i 会检查每一项是否不是 " "

当放在 any() 中时,如果任何 j 值不是“”,它将返回 true。所以对于上面 i 的例子,整体结果会是假的,因为 i 里面的所有项目都是“”。

如果我们改为将 i 设置为包含其他内容:

i==[" ", " ", "x"]

然后

if any(j != " " for j in i):

将返回 True,因为它会找到一个不是“”的元素(其中一个是“x”)

【讨论】:

以上是关于if any(j != " " for j in i): 是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

php有木有 直接显示星期几(中文)的函数 我写的这两种都感觉好别扭

在屏幕上输出以下图案:* *** ***** ******* ********* ****

Run Keyword If

编一个Java程序 查找某一字符串中是不是含"abc"

RobotFramework_Run Keyword If

inotify@1.4.1 不受支持的平台:想要 "os":"linux","arch":"any"