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<string,map<string,vector<int>>>
的数据结构? 当然你必须用嵌套的字典和列表来构建它。
【参考方案1】:
试试defaultdict
:
import collections, functools
inverted_index = collections.defaultdict(functools.partial(defaultdict, list))
现在将自动创建每个不存在的字典键,尽管您可以使用与静态类型 C++ 不同的任何类型。
【讨论】:
以上是关于C ++中复杂结构的python 3中的等效数据结构的主要内容,如果未能解决你的问题,请参考以下文章