使用python hashmap计算元素

时间:2016-08-01 13:10:56

标签: python hashmap

当我需要计算不同类型的元素时,我发现自己写的是:

if k not in removed:
    removed[k] = 0
removed[k] = removed[k] + 1

有时我会使用一个随时间增长的新空列表做同样的事情。 上面的代码工作正常,但感觉有更好的编写方式。 有吗?

3 个答案:

答案 0 :(得分:1)

除了评论中提到的defaultdict / Counter,您还可以从失败的get返回一个默认值。这允许您在键查找失败时将初始计数设置为0并立即递增1,或者在循环时找到每个键时递增1。

vehicles = ['car', 'bike', 'truck', 'car', 'truck', 'truck']

my_dict = {}
for k in vehicles:
    my_dict[k] = my_dict.get(k, 0) + 1 

答案 1 :(得分:0)

一种方法:

{{1}}

答案 2 :(得分:0)