2012-09-24 31 views
1

他們是同一個事情嗎?有沒有不同的方法來檢查pyque中的空行爲空

while len(deque)>0: 
    deque.popleft() 

while deque: 
    deque.popleft() 

所以基本上這兩個條件循環可以避免從空隊列中彈出?

+1

你的意思'而LEN(雙端隊列)> 0:'?否則答案是否定的,第一個將在元素用完時引發'IndexError:從空的deque'彈出。 – DSM

回答

4

它們是一樣的,但PEP 8更喜歡第二個版本。我並不認爲閱讀起來總是比較容易,所以請使用你自己的判斷。

http://www.python.org/dev/peps/pep-0008/#programming-recommendations

For sequences, (strings, lists, tuples), use the fact that empty sequences are false.

Yes: if not seq: 
    if seq: 

No: if len(seq) 
    if not len(seq) 
+0

謝謝,它絕對讓我的代碼看起來更好!我最終可以找到錯誤! – runcode

相關問題