将python字典转换为cpp对象

时间:2019-02-27 15:36:54

标签: python c++ dictionary

我必须将python对象转换为c ++,但我对python一无所知。该对象看起来像这样:

import numpy as np
import csv

readdata = csv.reader(open('C:\\...\\your_file_name.csv', 'r'))
data = []

for row in readdata:
  data.append(row)

#incase you have a header/title in the first row of your csv file, do the next line else skip it
data.pop(0) 

q1 = []  

for i in range(len(data)):
  q1.append(int(data[i][your_column_number]))

print ('Mean of your_column_number :            ', (np.mean(q1)))

从外观上看,我认为它可能是列表的地图?

可以在c ++中使用的closes对象是什么?

我试图这样做,但是无法编译:

VDIG = {
    1024 : [1,2,3,4],
    2048 : [5,6,7,8]
}

所以我的问题是Python中调用的数据类型是什么,以及在c ++中拥有类似内容的最佳方法是什么?

1 个答案:

答案 0 :(得分:7)

您的语法几乎正确:

#include <unordered_map>
#include <vector>

std::unordered_map<int, std::vector<int>> G_Calib_VoltageDigits = {
    {1024, {1, 2, 3}},
    {2048, {4, 5, 6}}
};

Live example

说明:std::mapstd::unordered_map包含成对的元素。空格不能分隔初始值设定项参数。正确的语法要求该对使用大括号,向量使用另一个。