0
A
回答
7
if key not in dic:
dic[key] = None
这可能不像Olivier的代码那么简短,但至少它明确且快速。
请不要使用dict
作为变量名称,它是内置的阴影。现在
10
d.setdefault(key) # sets d[key] to None if key is not in d
3
import collections
mydict = collections.defaultdict(lambda: None)
,以mydict[akey]
任何访问将(如果akey
不存在如在mydict
一个键)设定mydict[akey]
到None
作为副作用。
请注意,defaultdict
的初始值设定项要求无参数可调用,因此lambda
。
相关问题
- 1. iOS MapKit:代码重构与小调整
- 2. Python代码重构问题。简化
- 3. 如何重构此Python代码?
- 4. 如何使这个C#代码很小或重构此代码
- 5. 重构jQuery代码
- 6. Rshiny:重构代码
- 7. 重构jQuery代码
- 8. 重构swift代码
- 9. 重构JScript代码
- 10. 代码重构C#
- 11. C#代码重构?
- 12. 重构代码java
- 13. 重构.NET代码
- 14. 重构重复jQuery代码
- 15. Rails,重复代码重构
- 16. 代码重用和重构
- 17. Scala重构重复代码
- 18. 代码生成器与代码重构
- 19. 重构此Python代码以简化重复的简单方法
- 20. 帮助重构PHP代码
- 21. 重构以下代码?
- 22. 重构的jQuery/JavaScript代码
- 23. 重构此javascript代码
- 24. Eclipse代码重构 - Junits
- 25. 代码重构类模式
- 26. 代码重构 - 从阵列
- 27. Java:代码重构/优化
- 28. symfony中的重构代码
- 29. 重构“查看”代码
- 30. LINQ空重构代码
你不需要显式地使用'None','default'参数默认为'None' – SilentGhost 2010-05-12 14:30:07
@SilentGhost:呵呵,我意识到这一点,并在你写评论的同时改变了我的答案。 :-) – 2010-05-12 14:34:27
由于它实现了C中的检查并因此避免了所有的临时引用计数,所以这比其他任何方法都快*速度更快。 – 2010-05-12 18:32:59