如何访问R中hash env中的list-in-a-list,如Python dict

如何访问R中hash env中的list-in-a-list,如Python dict,r,dictionary,hash,environment,nested-lists,R,Dictionary,Hash,Environment,Nested Lists,我试图使用R中的哈希包在python中复制字典行为。我是这样创造的 library(hash) titles = hash(NAME = list("exact"=list('NAME','Age'), "partial"=list()), Dt = list("exact"=list('Dt'), "partial"=list()), CC = list("exact"=list(), "partial"=list())) 我可

我试图使用R中的哈希包在python中复制字典行为。我是这样创造的

library(hash)
titles = hash(NAME = list("exact"=list('NAME','Age'), "partial"=list()),
              Dt   = list("exact"=list('Dt'), "partial"=list()),
              CC   = list("exact"=list(), "partial"=list()))
我可以使用keystitles访问散列中的键,使用valuestitles访问值,使用valuestitles['Name']访问特定键的值

但是如何访问内部列表的元素呢?e、 g.列出‘姓名’、‘年龄’? 我需要根据元素的名称访问元素,在本例中为-exact,否则我需要知道该元素属于外部列表中的哪个元素,是exact还是partial。

简单地说:

titles[["NAME"]][["exact"]]
正如hrbmstr所写。这没什么特别的

在嵌套列表中,exact和partial只是两个字符串键。再说一次,他们的名字没有特别的魔力


此外,这实际上是推荐的正确的R语法,特别是当键是可变的时,它不会带来糟糕的Python语法。

titles$NAME$exact;头衔$Dt$精确;titles$CC$exact如果您真的需要将糟糕的Python语法引入R,那么titles[[NAME]][[exact]]。请注意,您可以用列表做您似乎想做的事情:标题谢谢。行得通顺便说一句,我不太清楚如何使用列表中的键/值对概念,这就是为什么我更喜欢使用哈希,它在python中复制字典概念。@jeevag您不太清楚,这与访问python dict有什么具体区别?什么中断?给出具体的代码示例。@hrbrmstr titles[[NAME]][[exact]]实际上是推荐的正确的R语法,特别是当键是变量时,它不会带来糟糕的Python语法-实际上,美元更灵活。[[和$都选择列表中的单个元素。主要区别在于$不允许计算索引,而[[does.x$name相当于x[[name,exact=FALSE]]。如果您喜欢冗长,为什么不使用getElementx,name?