2012-03-13 19 views
0

在我的代碼中,我需要測試一個字符串是否爲空數百萬次。問題是,哪種方式更好/更快:if str == ''if len(str) == 0。如果有更好的方法來做到這一點,請分享。任何幫助讚賞。哪種方法確定空字符串更好?

+0

如果不需要,不要優化。寫你pythonic的代碼,然後找出瓶頸。尼克拉斯B的答案是最pythonic,但它最有可能無論你在最終使用什麼解決方案效率和速度。 – 2012-03-13 20:39:29

回答

6

請不要命名變量str,因爲這是一個內置函數的名稱。

所以,如果你可以肯定的是s是一個字符串(這是希望的情況下),你可以使用

if not s: 
    # s is the empty string 

這應該是做這樣的檢查的preferredway。它也適用於list s,set s和dict s。在性能方面,可能沒有明顯的差異,但你當然可以衡量這一點。

+0

感謝您的快速響應。那麼爲什麼這更好?這是否也適用於列表? – lllluuukke 2012-03-13 20:40:02

+0

它是慣用的Python。 – FogleBird 2012-03-13 20:40:28

+0

@lllluuukke底下它執行檢查'如果len(str)== 0'並且更清潔。 – 2012-03-13 20:41:27