Python 无法强制类型';关闭';到类型为'的向量;字符';在R中使用hash包时

Python 无法强制类型';关闭';到类型为'的向量;字符';在R中使用hash包时,python,r,dictionary,hash,Python,R,Dictionary,Hash,我正在尝试将一段python代码转换为R。在python中,使用字典中的字典。所以我试着在R中使用散列包 Python代码: titles = { 'NAME' :{ 'exact':['NAME'] ,'partial':[] } , 'Dt' :{ 'exact':['Dt'] ,'partial':[] } , 'CC' :{ 'exact':[] ,'partial':[] } } R代码是 libra

我正在尝试将一段python代码转换为R。在python中,使用字典中的字典。所以我试着在R中使用散列包

Python代码:

titles = {
'NAME' :{
    'exact':['NAME']
    ,'partial':[]
    }
, 'Dt' :{
    'exact':['Dt']
    ,'partial':[]
    }
, 'CC' :{
    'exact':[]
    ,'partial':[]
    }
      }
R代码是

library(hash)
titles = hash(("NAME" = list("exact"=list('NAME'),"partial"=list())),
          ("Dt" = list("exact"=list('Dt'),"partial"=list())),
          ("CC" = list("exact"=list(),"partial"=list())))
但当我尝试在哈希环境中使用这段代码时,我得到以下错误

Error in as.vector(x, "character") : 
  cannot coerce type 'closure' to vector of type 'character'
当我尝试用列表替换散列时,效果很好。但是,我使用键/值对(hash包)主要是因为我必须处理内部字典,我的意思是基于外部字典键更改内部字典值。你知道我为什么会犯这样的错误吗?或者其他的方法

更新以下内容,使问题更加清楚

为了进一步解释,我将其创建为键/值对(散列包),主要是因为我将在大量使用键/值对的字典上使用以下逻辑。我不确定在没有键/值对的R列表中是否可以轻松完成此操作

another_dict = {}
multiples_dict = {}
adj_title = 'Dt'
for outer_key,outer_value in titles.iteritems():
        for exact in outer_value['exact']:
            if exact == adj_title:
               another_dict[actual_title] = outer_key
               multiples_dict[outer_key] = multiples
        for partial in inner_dict['partial']:
            if partial in adj_title:
               another_dict[actual_title] = outer_key
               multiples_dict[outer_key] = multiples

提前感谢。

您需要去掉每个键/值对周围的paren,如下所示:

library(hash)
titles = hash("NAME" = list("exact"=list('NAME'),"partial"=list()),
          "Dt" = list("exact"=list('Dt'),"partial"=list()),
          "CC" = list("exact"=list(),"partial"=list()))

当包含parens
散列((a=b))
时,对象
(a=b)
将作为表达式传递,而不是键/值对

您的问题不清楚。您希望通过说“基于外部dict键更改内部dict值”来实现什么?你能提供一个小的说明性例子吗?谢谢你的回答。我已经更新了这个问题,我将如何处理键/值对。哦,糟糕。我不知怎么错过了。谢谢你。