当前位置: 首页 > 面试题库 >

将python字典翻译成C ++

公冶光亮
2023-03-14
问题内容

我有包含以下代码的python代码。

d = {}

d[(0,0)] = 0
d[(1,2)] = 1
d[(2,1)] = 2
d[(2,3)] = 3
d[(3,2)] = 4

for (i,j) in d:
    print d[(i,j)], d[(j,i)]

不幸的是,对python中的所有键进行循环并不能达到我的目的,因此我想将此代码转换为C 。对于以元组为键的python词典,最佳的C

数据结构是什么?以上代码的C ++等价物是什么?

我在boost库中查看了稀疏矩阵,但是找不到简单的方法来仅在非零元素上循环。


问题答案:

字典将是c ++中的std :: map,具有两个元素的元组将是std :: pair。

提供的python代码将转换为:

#include <iostream>
#include <map>

typedef std::map<std::pair<int, int>, int> Dict;
typedef Dict::const_iterator It;

int main()
{
   Dict d;

   d[std::make_pair(0, 0)] = 0;
   d[std::make_pair(1, 2)] = 1;
   d[std::make_pair(2, 1)] = 2;
   d[std::make_pair(2, 3)] = 3;
   d[std::make_pair(3, 2)] = 4;

   for (It it(d.begin()); it != d.end(); ++it)
   {
      int i(it->first.first);
      int j(it->first.second);
      std::cout <<it->second <<' '
                <<d[std::make_pair(j, i)] <<'\n';
   }
}


 类似资料:
  • 有人能把它翻译成python代码吗,例如,我知道第一行和第二行将是 我只是想不出其他的

  • 问题内容: 也许有足够的问题和/或解决方案,但是我只是无法解决这个问题:我在bash脚本中使用了以下命令: 现在,由于某些问题,我必须将所有代码转换为python。我以前从未使用过python,而且我完全不知道如何执行postet命令的功能。有什么想法如何用python解决吗? 问题答案: 您需要更好地了解python语言及其标准库才能翻译表达式 cat“ $ filename”:读取文件并将内容

  • 问题内容: 我一直在寻找有关此问题的答案,但似乎无法找到答案。也许到了傍晚才找出答案,所以我转向这里的优秀读者。 我从CouchDB记录中提取了以下JSON数据: 此数据存储在Python字典中,该字典位于称为“ ” 的字典中键“ ” 下。我想将此数据从CouchDB转换为Python dict,以便可以在Django模板中执行以下操作: 我发现了很多有关将字典转换为JSON的信息,但是没有其他方

  • 我使用antlr4使用Python3生成python目标。antlr语法库中的g4语法文件。生成的Python3Lexer。py文件包含我需要翻译成python的Java代码。这里是它输出的两个java段,您也可以在python3语法文件中找到它们 和 我把这些翻译成: 和 这是我的python脚本,用于运行antlr输出,其中包含python而不是java片段。使用命令运行 It错误并打印以下跟

  • 我有一个用Django编写的应用程序,我正在尝试在Digital Ocean droplet上的docker中运行它。目前我有两个文件。 有人能建议如何摆脱docker compose吗。yml文件并集成Dockerfile中的所有命令??? 文档文件 docker编写。yml公司 我运行我的应用程序和docker映像,如下所示: docker compose运行web python jk/man

  • 本文向大家介绍python爬虫实现中英翻译词典,包括了python爬虫实现中英翻译词典的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python爬虫实现中英翻译词典的具体代码,供大家参考,具体内容如下 通过根据某平台的翻译资源,提取出翻译信息,并展示出来,包括输入,翻译,输出三个过程,主要利用python语言实现(python3.6),抓取信息展示。 以上就是本文的全部内容,希望对