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