将C++映射转换为python字典
Translate C++ map to python dictionary
我正在尝试将用c ++编写的if-else语句转换为相应的python代码块。对于C++地图 dpt2,我正在尝试翻译:
if (dpt2.find(key_t) == dpt2.end()) { dpt2[key_t] = rat; }
else { dpt2.find(key_t) -> second = dpt2.find(key_t) -> second + rat; }
我对C++不是很熟悉,但我的理解是 -> 运算符等效于指针引用的类的方法调用。我的问题是如何将这段代码转换为可以由 python 中的 OrderedDict() 对象处理的内容?
首先,在C++中,你会把它写成:
dpt[key_t] += rat;
这将只执行一次地图查找 - 与您编写的代码相反
,在key_t
不在地图中的情况下执行 2 次查找,在地图中的情况下执行 3 次查找。<小时 />在 Python 中,你会以大致相同的方式编写它 - 假设你声明dpt
是正确的:
dpt = collections.defaultdict(int)
...
dpt[key_t] += rat
像这样的东西?
dpt2[key_t] = dpt2.get(key_t, 0) + rat
相关文章:
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- Pybind11:将元组列表从Python传递到C++
- C++中是否有任何函数等同于python中字典的get函数?
- 替代在python中制作邻接列表与图形问题的字典?(如 C++ 中的 vector<vector<int&g
- C++中类似Python字典的结构?
- 如何将返回的 Python 字典转换为 C++ std::map<string,string>
- C 中的哈希表可以与Python中的字典类似
- 如何在功能中更改Python字典中的类型
- Python C API:将 PyObjects 分配给字典会导致内存泄漏
- 使用 boost::p ython,如何将结构体向量作为字典列表返回给 Python
- 将C++映射转换为python字典
- C++等效于字典/列表的Python代码
- Python字典与C++std:unordered_map(cython)与cython化的Python字典
- 使用Python中的自定义比较函数对字典键对象列表进行排序
- Boost Python - 全局和本地字典
- Python支持排序字典 - 类似于C++映射
- 构建多级字典:python到c++的翻译
- 为什么python的字典是作为哈希表实现的,而std::map是基于树的?
- 使用boost python返回narray的字典会导致内存泄漏
- c++中是否有任何数据结构或库可以像Python列表和字典一样工作?