我想在R. Python字典的基本上相当于,在python我有:相当于R中Python字典
visited = {}
if atom_count not in visited:
Do stuff
visited[atom_count] = 1
的想法是,如果我看到具体的,atom_count,我已经访问了[atom_count] = 1。因此,如果我再次看到atom_count,我不会“做东西”。 Atom_Count是一个整数。
谢谢!
我想在R. Python字典的基本上相当于,在python我有:相当于R中Python字典
visited = {}
if atom_count not in visited:
Do stuff
visited[atom_count] = 1
的想法是,如果我看到具体的,atom_count,我已经访问了[atom_count] = 1。因此,如果我再次看到atom_count,我不会“做东西”。 Atom_Count是一个整数。
谢谢!
R中最接近python字典的仅仅是一个列表。最喜欢的R数据类型,列表可以有一个名字属性,可以让列表来像一组名称 - 值对:
> l <- list(a = 1,b = "foo",c = 1:5)
> l
$a
[1] 1
$b
[1] "foo"
$c
[1] 1 2 3 4 5
> l[['c']]
[1] 1 2 3 4 5
> l[['b']]
[1] "foo"
现在的平常免责声明:他们不是完全相同相同;会有分歧。因此,你会失望地试图按照你在python中使用字典的方式来使用列表。
你如何以编程方式遍历这样的列表?天真的名字(l)[1]'显然失败了。我也一直无法获得'l [which]]的工作 –
@MikePalmice除了'for'循环,这在几乎所有的语言中都是一种选择,有'lapply'。也有不同的语法相关的东西,比如'Map'和一个完整的包,** purrr **用于很多函数式编程的东西。 – joran
我相信使用散列表(创建一个新的环境)可能是解决您的问题。我打算如何做到这一点,但昨天我在talkstats.com上做了这个。
如果你的字典很大,只有两列,那么这可能是要走的路。这里的链接到talkstats螺纹与样品R代码:
请注意'data.table'和R自己命名的向量查找在这个时间以来的速度已经大大提高了。 –
'ifelse'和'%'%? – Chase
看到R package'hash'和它几乎类似Python的访问函数。 –