长期缺席并喜欢它之后,我目前正在重新使用Python。但是,我发现自己反复遇到一种模式。我一直认为,必须有一种更好的方式表达我想要的东西,而我可能做错了方式。
我正在编写的代码具有以下形式:
# foo is a dictionary if foo.has_key(bar): foo[bar] += 1 else: foo[bar] = 1
我在程序中写很多。我的第一个反应是将其推出辅助函数,但是通常python库已经提供了类似的功能。
我缺少一些简单的语法技巧吗?还是采用这种方式?
使用defaultdict:
defaultdict
from collections import defaultdict foo = defaultdict(int) foo[bar] += 1
在Python> = 2.7中,您还有一个单独的Counter类用于这些目的。对于Python 2.5和2.6,可以使用其向后移植的版本。