在python中R等价于[x [y]代表x,y代表zip(i,j)]?

时间:2016-05-19 23:43:40

标签: python r

我想知道是否有一个R等价的这个列表理解python中的重复?它的作用是从嵌套列表中提取某些元素,我给出了来自j:

的索引
i = [[1,2,3],[2,3,4],[2,4,2]]
j = [1,2,0]
whatineed = [x[y] for x,y in izip(i,j)]

据推测,在R中,相应的i和j将是列表/向量:

i = list(c(1,2,3),c(2,3,4),c(2,4,2))
j = c(2,3,1)

j = list(2,3,1)

非常感谢你提前帮助!!

1 个答案:

答案 0 :(得分:5)

在R中,您使用Map函数:

i = list(c(1,2,3),c(2,3,4),c(2,4,2))
j = c(2,3,1)

Map(`[`, i, j)
[[1]]
[1] 2

[[2]]
[1] 4

[[3]]
[1] 2

您还可以使用mapply返回向量而不是列表:

mapply(`[`, i, j)
[1] 2 4 2