首页 > 解决方案 > python中unorderd_map的替代方案是什么?我们知道 key 中的默认值:值在 c++ 中为零

问题描述

//in C++
unordered_map<int,int>m;
for (i = 0; i < n; ++i) {
          m[arr[i]]++;
}

#in python
my_dict = {}
for i in range(len(arr)):
       my_dict[arr[i]] += 1 #This gives key error

我确信默认值在 C++ 中设置为零,所以它可以工作。如何在 Python 中实现它?

标签: c++python-3.x

解决方案


在 python 中你可以使用defaultdict.

from collections import defaultdict

arr = [1,2,3]

my_dict = defaultdict(int)
for i in range(len(arr)):
    my_dict[arr[i]]+=1

推荐阅读