C ++中复杂结构的python 3中的等效数据结构

Posted

技术标签:

【中文标题】C ++中复杂结构的python 3中的等效数据结构【英文标题】:Equivalent data structure in python 3 of a complex structure in C++ 【发布时间】:2018-03-31 13:52:04 【问题描述】:

我想创建一个等效的数据结构,我在 python 的 C++ 赋值中使用。我很难弄清楚如何做到这一点。结构如下 -

 map < string, map < string, vector < int > > > invertedIndex;

你能指出我正确的方向吗?

编辑:我知道 list 和 dict 分别是 vector 和 map 的等价物,我应该指定是否有单行代码可以在 python 中初始化相同的数据结构。

【问题讨论】:

map = dict, vector = list,够吗? 没错,你想要一个有序的地图,还是只是一个无序的地图? Python equivalent for C++ STL vector/list containers的可能重复 欺骗#2:***.com/questions/3654770/… 为什么任何编程语言都有一个完全等同于map&lt;string,map&lt;string,vector&lt;int&gt;&gt;&gt;的数据结构? 当然你必须用嵌套的字典和列表来构建它。 【参考方案1】:

试试defaultdict:

import collections, functools
inverted_index = collections.defaultdict(functools.partial(defaultdict, list))

现在将自动创建每个不存在的字典键,尽管您可以使用与静态类型 C++ 不同的任何类型。

【讨论】:

以上是关于C ++中复杂结构的python 3中的等效数据结构的主要内容,如果未能解决你的问题,请参考以下文章

Python中内置的数据结构都有啥?

c语言里面的结构体是啥意思

数据结构C语言 《一》斐波那契数 时间,空间复杂度详述

python数据结构之字典

c数据结构 绪论 上

Python之struct