假设我有一个空字符串,它将被分割:
>>>''.split(',')
['']
分裂的结果是['']
. I use bool
检查它是否为空。它会返回True
.
>>>bool([''])
True
如何检查分割结果是否为空?
With bool([''])
你正在检查列表是否['']
有任何内容,它所做的,内容恰好是空字符串''
.
如果您想检查是否all列表中的元素不是“空”(因此如果列表包含字符串''
它会返回False
)您可以使用内置函数all():
all(v for v in l)
这需要每个元素v
在列表中l
并检查它是否有True
价值;如果all它返回的元素True
如果至少有一个没有返回False
。举个例子:
l = ''.split(',')
all(v for v in l)
Out[75]: False
你可以用这个代替any()执行部分检查并查看是否任何项目在列表中l
有一个值True
.
具有两种用途的更全面的示例*:
l = [1, 2, 3, '']
all(l)
# '' doesn't have a True value
Out[82]: False
# 1, 2, 3 have a True value
any(l)
Out[83]: True
*As @ShadowRanger在评论中指出,可以做同样的事情all(l)
or any(l)
因为它们最终都只接受一个可迭代的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)