在我的代码中,我需要测试一个字符串是否为空数百万次。问题是,哪种方式更好/更快: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. 哪种转换方法更好?
- 4. 哪种方法更好,为什么?
- 5. ICallbackEventHandler,HttpHandler,XMLHttpRequestObjext - 哪种方法更好
- 6. 哪种方法更好? libsvm或svmclassify?
- 7. 哪种方法布局更好?
- 8. setter验证:哪种方法更好?
- 9. 哪种方法可变设置更好?
- 10. 关联范围 - 哪种方法更好?
- 11. 字符串替换更好的方法
- 12. javascript哪种语法更好?
- 13. 哪种方法最好?
- 14. 确定哪种算法渐近更快
- 15. 在哪种情况下,C++/c#命名空间方法比Java方法更好?
- 16. 确定性哪种方法或操作
- 17. 哪种更好的方法来排序不同的数字?
- 18. 在自定义页面中哪种方法更好?
- 19. 哪种方法更好?静态方法内的ArrayList是困惑
- 20. 从Perl字符串中删除特定字符的更好方法
- 21. 哪里是空字符的固定长度的空字符串?
- 22. 哪种方法更优化?
- 23. 哪种方法更快?
- 24. 使用哪种方法删除stringBuilder类中的字符串
- 25. 哪一种方法适用于初始化wchar_t字符串?
- 26. 哪种方式更好地移动ImageView
- 27. 在java中哪种方式更好?
- 28. 哪种方法比较字符和字符串的clojuresque最方便? (单个字符串)
- 29. 在查询mongodb时哪种方法在性能方面更好?
- 30. 哪种方式更好地调用这个id生成方法?
如果不需要,不要优化。写你pythonic的代码,然后找出瓶颈。尼克拉斯B的答案是最pythonic,但它最有可能无论你在最终使用什么解决方案效率和速度。 – 2012-03-13 20:39:29