回答
如果你的意思是,检查列表l
只包含无,
if all(x is None for x in l):
...
“...仅包含无”OR为空。 – Constantin 2010-08-27 12:16:32
@system:为什么不呢? – kennytm 2010-08-27 12:19:55
@systempuntoout,这实际上是一个生成器表达式。 – Constantin 2010-08-27 12:20:36
尝试any()
- 它检查列表中是否有单个元素在布尔上下文中被认为是True
。 None
在布尔上下文中计算为False
,因此any(l)
变为False
。
请注意,要检查列表(而不是其内容)是否真的是None
,则必须使用if l is None
。和if not l
检查它是否是无(或其他任何被认为是False
)或空。
>>> any([None,None,0]) 将给出错误 – 2011-06-29 10:31:51
我怎么没有听说过任何()?这个问题呢?惊人。 – otocan 2017-04-06 09:03:37
L == [None] * len(L)
比使用更快的所有()当L 为所有无
$ python -m timeit -s'L=[None]*1000' 'all(x is None for x in L)'
1000 loops, best of 3: 276 usec per loop
$ python -m timeit -s'L=[None]*1000' 'L==[None]*len(L)'
10000 loops, best of 3: 34.2 usec per loop
如果你想检查列表中的成员是否为None,那么你可以遍历这些项目并检查它们是否为无
如果你想检查列表本身是没有,你可以使用类型(varlist中),它会返回None
你可以做
如果(LST ==无): ...打印“是”
有效。
我个人更喜欢做一个set
,然后验证它是否等于一组具有一个元素None
:
set(l) == {None}
assert set([None, None, None]) == {None}
assert set([None, 2, None]) != {None}
不是最快的,但仍比all(...)
实现更快:
$ python -m timeit -s'L=[None]*1000' 'all(x is None for x in L)'
10000 loops, best of 3: 59 usec per loop
$ python -m timeit -s'L=[None]*1000' 'set(L)=={None}'
100000 loops, best of 3: 17.7 usec per loop
$ python -m timeit -s'L=[None]*1000' 'L==[None]*len(L)'
100000 loops, best of 3: 7.17 usec per loop
感谢@JohnLaRooy的基准代码 – 2016-07-28 18:55:17
- 1. 检查列表是否包含密钥
- 2. 检查列表是否包含类型?
- 3. Django - 如何检查id是否包含在表列中?
- 4. 检查列表是否只包含项目x
- 5. 检查一个列表是否只包含零
- 6. 检查arraylist是否只包含空值
- 7. Python 2.7:检查子列表是否包含项目
- 8. 检查字符串是否包含嵌套列表的值 - python
- 9. 我如何检查数组是否只包含“1”在Java中?
- 10. 如何检查嵌套列表是否只包含空字符串
- 11. 如何检查列表是否包含字符串
- 12. 如何检查列表是否包含字节数组?
- 13. 如何检查字符串是否包含字符列表?
- 14. Longs列表如何检查它是否包含值?
- 15. 序言 - 如何检查列表是否包含某些元素?
- 16. 如何检查嵌套列表是否包含特定值C#
- 17. 如何检查布尔值列表是否包含值?
- 18. 序言 - 如何检查列表是否包含某个项目
- 19. 如何检查是否列表的列表包含另一个列表
- 20. 如何检测表是否包含表?
- 21. 如何查看列表是否包含Python中的另一个列表?
- 22. 如何检查列表中只包含#T
- 23. 检查查询是否包含列表中的内容
- 24. 检查Python数组是否只包含一组数字集
- 25. 如何检查DataTable是否包含DataRow?
- 26. 如何检查NSString是否包含'%'?
- 27. 如何检查HashSet是否包含值?
- 28. 如何检查url是否包含“main.php”
- 29. 如何检查CGContext是否包含点?
- 30. Python - 检查字符串是否包含列表中的任何元素
什么它应该返回空列表[[]'? – Constantin 2010-08-27 12:07:45
[如何检查列表中的所有项目是否都是?]的可能重复(http://stackoverflow.com/questions/6518394/how-to-check-if-all-items-in-the-list-are - 无) – 2011-06-30 05:17:50
可能的重复[最简洁的方式来检查列表是否为空或\ [无\]?](http://stackoverflow.com/questions/1270920/most-concise-way-to-check-whether -a-list-is-empty-or-none) – ThiefMaster 2012-06-09 00:56:17