在我的代碼中,我需要測試一個字符串是否爲空數百萬次。問題是,哪種方式更好/更快:if str == ''
或if len(str) == 0
。如果有更好的方法來做到這一點,請分享。任何幫助讚賞。哪種方法確定空字符串更好?
回答
請不要命名變量str
,因爲這是一個內置函數的名稱。
所以,如果你可以肯定的是s
是一個字符串(這是希望的情況下),你可以使用
if not s:
# s is the empty string
這應該是做這樣的檢查的preferredway。它也適用於list
s,set
s和dict
s。在性能方面,可能沒有明顯的差異,但你當然可以衡量這一點。
感謝您的快速響應。那麼爲什麼這更好?這是否也適用於列表? – lllluuukke 2012-03-13 20:40:02
它是慣用的Python。 – FogleBird 2012-03-13 20:40:28
@lllluuukke底下它執行檢查'如果len(str)== 0'並且更清潔。 – 2012-03-13 20:41:27
- 1. CSS - 哪種方法更好?
- 2. 哪種方法更準確?
- 3. 哪種方法更好更快 - Symfony2,Doctrine2
- 4. 哪種方法更好/更清潔?
- 5. 哪種方法更好,更安全?
- 6. 正確實現字符串'in'數組的一種更好的方法
- 7. ICallbackEventHandler,HttpHandler,XMLHttpRequestObjext - 哪種方法更好
- 8. 哪種方法更好? libsvm或svmclassify?
- 9. setter驗證:哪種方法更好?
- 10. 哪種方法可變設置更好?
- 11. 哪種驗證方法更好?
- 12. 關聯範圍 - 哪種方法更好?
- 13. 哪種方法更好String.equalIgnoreCase或StringUtils.equalIgnoreCase
- 14. 哪種方法佈局更好?
- 15. 哪種轉換方法更好?
- 16. 哪種方法更好,爲什麼?
- 17. 向StringBuilder添加多個字符串的哪種方法更快?
- 18. 哪種方式會更好?
- 19. 更好的比較字符串方法
- 20. 字符串替換更好的方法
- 21. javascript哪種語法更好?
- 22. 哪種方法最好?
- 23. java哪種方法最好?
- 24. Android確定空字符串
- 25. 哪種方式更準確?
- 26. 在Javascript,字符串連接或數組中,哪種方式更好?
- 27. 確定哪種算法漸近更快
- 28. 在哪種情況下,C++/c#命名空間方法比Java方法更好?
- 29. 確定哪種方法持有ReaderWriterLockSlim WriteLock
- 30. 確定性哪種方法或操作
如果不需要,不要優化。寫你pythonic的代碼,然後找出瓶頸。尼克拉斯B的答案是最pythonic,但它最有可能無論你在最終使用什麼解決方案效率和速度。 – 2012-03-13 20:39:29