当我需要计算不同类型的元素时,我发现自己写的是:
if k not in removed:
removed[k] = 0
removed[k] = removed[k] + 1
有时我会使用一个随时间增长的新空列表做同样的事情。 上面的代码工作正常,但感觉有更好的编写方式。 有吗?
答案 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)