回答
如果你的意思是,检查列表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. 检查字符串是否包含嵌套列表的值 - python
- 5. 序言 - 如何检查列表是否包含某些元素?
- 6. 如何检查列表是否包含字符串
- 7. 序言 - 如何检查列表是否包含某个项目
- 8. 如何检查是否列表的列表包含另一个列表
- 9. 如何检查列表中只包含#T
- 10. 如何查看列表是否包含Python中的另一个列表?
- 11. 检查Python数组是否只包含一组数字集
- 12. 如何检查DataTable是否包含DataRow?
- 13. 如何检查NSString是否包含'%'?
- 14. Python - 检查字符串是否包含列表中的任何元素
- 15. 检查列是否包含模式?
- 16. 检查arraytype列是否包含空值
- 17. C++检查一个列表是否包含一个子列表
- 18. 检查散列表数组是否包含散列表
- 19. 如何检查URL是否只包含一个路由参数?
- 20. 如何检查字符串是否只包含英文字母?
- 21. 如何检查CSV列中是否包含多个单词?
- 22. 如何检查索引是否包含SQLite中的特定列
- 23. 检查是否包含jQuery
- 24. 如何检查是否字符串包含列表中查询在Django ORM
- 25. 检查一个列表是否只包含Ansible中的值等于0
- 26. PHP检查MySQL表是否包含值
- 27. 检查一个URL是否包含Python中列表中的所有元素
- 28. jQuery /检查图像是否包含在列表项中
- 29. Django - 检查列表是否包含模板中的内容
- 30. 如何检查矩阵的列表是否包含Maple中给定的矩阵
什么它应该返回空列表[[]'? – 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