Python 如何在C++;使用STL?

Python 如何在C++;使用STL?,python,c++11,Python,C++11,我有一个这样的数据结构。它更像python中的字典,它存储的信息如下所示 D={0:{'x':2,'y':5},1:{'x':4,'y':5}} 这表示两个键0和1,每个键都有x和y坐标。在Python中,我可以像这样轻松地初始化 D={0:{'x':2,'y':5},1:{'x':4,'y':5}} 但是我怎么能在C++中做呢?我使用了以下声明 map<int, map<char, float>> D; map-D; 但在此之后,我无法继续。有什么帮助吗?您可以

我有一个这样的数据结构。它更像python中的字典,它存储的信息如下所示

D={0:{'x':2,'y':5},1:{'x':4,'y':5}}
这表示两个键0和1,每个键都有x和y坐标。在Python中,我可以像这样轻松地初始化

D={0:{'x':2,'y':5},1:{'x':4,'y':5}}
但是我怎么能在C++中做呢?我使用了以下声明

map<int, map<char, float>> D;
map-D;

但在此之后,我无法继续。有什么帮助吗?

您可以使用嵌套的初始值设定项列表。语法与python略有不同,但很清楚发生了什么:

map<int, map<char, float>> D0{{0, {{'x', 2}, {'y', 5}}},
                              {1, {{'x', 4}, {'y', 5}}}};
map D0{{0,{'x',2},{'y',5}},
{1,{'x',4},{'y',5}};

您可以使用嵌套的初始值设定项列表。语法与python略有不同,但很清楚发生了什么:

map<int, map<char, float>> D0{{0, {{'x', 2}, {'y', 5}}},
                              {1, {{'x', 4}, {'y', 5}}}};
map D0{{0,{'x',2},{'y',5}},
{1,{'x',4},{'y',5}};

您可以使用嵌套的初始值设定项列表。语法与python略有不同,但很清楚发生了什么:

map<int, map<char, float>> D0{{0, {{'x', 2}, {'y', 5}}},
                              {1, {{'x', 4}, {'y', 5}}}};
map D0{{0,{'x',2},{'y',5}},
{1,{'x',4},{'y',5}};

您可以使用嵌套的初始值设定项列表。语法与python略有不同,但很清楚发生了什么:

map<int, map<char, float>> D0{{0, {{'x', 2}, {'y', 5}}},
                              {1, {{'x', 4}, {'y', 5}}}};
map D0{{0,{'x',2},{'y',5}},
{1,{'x',4},{'y',5}};

您应该能够使用初始值设定项列表:

map<int, map<char, float>> D = {{0,{{'x',2},{'y',5}}},{1,{{'x',4},{'y',5}}}};
map D={{0,{'x',2},{'y',5}}},{1,{'x',4},{'y',5}}};
基本上,在每对值周围放置一对大括号以初始化对,在每对键/值对列表周围放置一对大括号以初始化映射:

map<int, map<char, float>> D =
  { //begin map initialisation
    { //begin key/value pair defining the first element
      0, //key of the first element
      { // begin map (value of the first element)
        {'x',2}, // initialiser for key/value pair 'x',2
        {'y',5}  // initialiser for key/value pair 'y',5
      } // end of value of the first element
    }, //end of key/value pair for the first element
    {1,{{'x',4},{'y',5}}} // similar stuff for second element of the map
  }; //end of the map
map D=
{//开始映射初始化
{//开始定义第一个元素的键/值对
0,//第一个元素的键
{//开始映射(第一个元素的值)
{'x',2},//键/值对'x',2'的初始化器
{'y',5}//键/值对'y',5'的初始化器
}//第一个元素的值结束
},//第一个元素的键/值对结束
{1,{'x',4},{'y',5}}}//类似的东西,用于映射的第二个元素
}; //地图的尽头

您应该能够使用初始值设定项列表:

map<int, map<char, float>> D = {{0,{{'x',2},{'y',5}}},{1,{{'x',4},{'y',5}}}};
map D={{0,{'x',2},{'y',5}}},{1,{'x',4},{'y',5}}};
基本上,在每对值周围放置一对大括号以初始化对,在每对键/值对列表周围放置一对大括号以初始化映射:

map<int, map<char, float>> D =
  { //begin map initialisation
    { //begin key/value pair defining the first element
      0, //key of the first element
      { // begin map (value of the first element)
        {'x',2}, // initialiser for key/value pair 'x',2
        {'y',5}  // initialiser for key/value pair 'y',5
      } // end of value of the first element
    }, //end of key/value pair for the first element
    {1,{{'x',4},{'y',5}}} // similar stuff for second element of the map
  }; //end of the map
map D=
{//开始映射初始化
{//开始定义第一个元素的键/值对
0,//第一个元素的键
{//开始映射(第一个元素的值)
{'x',2},//键/值对'x',2'的初始化器
{'y',5}//键/值对'y',5'的初始化器
}//第一个元素的值结束
},//第一个元素的键/值对结束
{1,{'x',4},{'y',5}}}//类似的东西,用于映射的第二个元素
}; //地图的尽头

您应该能够使用初始值设定项列表:

map<int, map<char, float>> D = {{0,{{'x',2},{'y',5}}},{1,{{'x',4},{'y',5}}}};
map D={{0,{'x',2},{'y',5}}},{1,{'x',4},{'y',5}}};
基本上,在每对值周围放置一对大括号以初始化对,在每对键/值对列表周围放置一对大括号以初始化映射:

map<int, map<char, float>> D =
  { //begin map initialisation
    { //begin key/value pair defining the first element
      0, //key of the first element
      { // begin map (value of the first element)
        {'x',2}, // initialiser for key/value pair 'x',2
        {'y',5}  // initialiser for key/value pair 'y',5
      } // end of value of the first element
    }, //end of key/value pair for the first element
    {1,{{'x',4},{'y',5}}} // similar stuff for second element of the map
  }; //end of the map
map D=
{//开始映射初始化
{//开始定义第一个元素的键/值对
0,//第一个元素的键
{//开始映射(第一个元素的值)
{'x',2},//键/值对'x',2'的初始化器
{'y',5}//键/值对'y',5'的初始化器
}//第一个元素的值结束
},//第一个元素的键/值对结束
{1,{'x',4},{'y',5}}}//类似的东西,用于映射的第二个元素
}; //地图的尽头

您应该能够使用初始值设定项列表:

map<int, map<char, float>> D = {{0,{{'x',2},{'y',5}}},{1,{{'x',4},{'y',5}}}};
map D={{0,{'x',2},{'y',5}}},{1,{'x',4},{'y',5}}};
基本上,在每对值周围放置一对大括号以初始化对,在每对键/值对列表周围放置一对大括号以初始化映射:

map<int, map<char, float>> D =
  { //begin map initialisation
    { //begin key/value pair defining the first element
      0, //key of the first element
      { // begin map (value of the first element)
        {'x',2}, // initialiser for key/value pair 'x',2
        {'y',5}  // initialiser for key/value pair 'y',5
      } // end of value of the first element
    }, //end of key/value pair for the first element
    {1,{{'x',4},{'y',5}}} // similar stuff for second element of the map
  }; //end of the map
map D=
{//开始映射初始化
{//开始定义第一个元素的键/值对
0,//第一个元素的键
{//开始映射(第一个元素的值)
{'x',2},//键/值对'x',2'的初始化器
{'y',5}//键/值对'y',5'的初始化器
}//第一个元素的值结束
},//第一个元素的键/值对结束
{1,{'x',4},{'y',5}}}//类似的东西,用于映射的第二个元素
}; //地图的尽头

这是我所能想到的最好的C++11的
初始值设定项列表

map<int, map<char, float>> D = {
    {0, {{'x', 2}, {'y', 5}}},
    {1, {{'x', 4}, {'y', 5}}}
};
map D={
{0,{'x',2},{'y',5}},
{1,{'x',4},{'y',5}}
};

这是我所能想到的最好的C++11的
初始值设定项列表

map<int, map<char, float>> D = {
    {0, {{'x', 2}, {'y', 5}}},
    {1, {{'x', 4}, {'y', 5}}}
};
map D={
{0,{'x',2},{'y',5}},
{1,{'x',4},{'y',5}}
};

这是我所能想到的最好的C++11的
初始值设定项列表

map<int, map<char, float>> D = {
    {0, {{'x', 2}, {'y', 5}}},
    {1, {{'x', 4}, {'y', 5}}}
};
map D={
{0,{'x',2},{'y',5}},
{1,{'x',4},{'y',5}}
};

这是我所能想到的最好的C++11的
初始值设定项列表

map<int, map<char, float>> D = {
    {0, {{'x', 2}, {'y', 5}}},
    {1, {{'x', 4}, {'y', 5}}}
};
map D={
{0,{'x',2},{'y',5}},
{1,{'x',4},{'y',5}}
};