回答
如果你的意思是,檢查列表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