如何在R中合并2个python词典?

时间:2017-07-23 17:05:20

标签: r dictionary reticulate

我在R中使用Tensorflow包,我需要合并2个词典来创建一个feed.dict。

在python this is simple中。在R中完成这项工作的最佳方法是什么?由于我无法控制的原因,我无法直接使用Python。

修改

我已经做了以下工作。如果有人有更好的解决方案,请发表答案。

mergeDictionaries = function(dict1, dict2){
  list1 = py_to_r(dict1)
  list2 = py_to_r(dict2)
  r_to_py(c(list1, list2))
}

1 个答案:

答案 0 :(得分:2)

新创建的reticulate包提供了一个到python模块的R接口,可以在你的情况下使用。假设您安装了Python 3,则可以运行以下代码块

py_str = "x = {'a':1, 'b': 2}
y = {'b':10, 'c': 11}
z = dict(list(x.items()) + list(y.items()))"


py_dict = reticulate::py_run_string(code = py_str, local = FALSE, convert = FALSE)
py_dict$z

结果将是,

{'a': 1, 'b': 10, 'c': 11}