Python数据结构和它们的C ++等价物

时间:2017-11-11 08:10:44

标签: python c++

我正在寻找与C ++中的这些数据结构相当的python

map<string,set<string>>
  1. 按键排序
  2. 值为集合
  3. map<key,val>
    
    1. 按键排序
    2. 阅读本文后:https://docs.python.org/2/library/collections.html#collections.OrderedDict 我仍然没有找到合适的东西。

2 个答案:

答案 0 :(得分:0)

c ++和python之间没有完美的映射; python是动态类型的。

map<string,set<string>>相当于(使用OrderedDict来保留键的顺序,否则dict就足够了。): OrderedDict(),其中keys是字符串,valuessets,其中您插入字符串

from collections import OrderedDict  
a = OrderedDict()

a['my_key'] = set()
a['my_key'].add('my_string')
  

请注意。 OrderedDict不会按“按键”排序,而是通过插入排序   键的顺序(感谢评论中的@timgeb)

答案 1 :(得分:0)

在python中你有4个数据结构:列表,元组,集和dicts。 您可以创建自己的结构:

首先:

data = {'my_set':set()}

第二

data = {'key': 'value'}

您可以使用集合模块对此数据结构进行排序。 How can I sort a dictionary by key?