假设我有一个这样的列表:
x = list(list(1,2), list(3,4), list(5,6))
我想要一个仅包含嵌套列表的第一个元素的列表。我可以这样返回另一个列表来做到这一点
x1 = lapply(x, function(l) l[[1]])
有快捷方式吗?
Answers:
捷径不多,但是您可以这样做:
lapply(x, `[[`, 1)
# [[1]]
# [1] 1
#
# [[2]]
# [1] 3
#
# [[3]]
# [1] 5
我们可以使用pluck
从rvest
从每个嵌套的列表中选择第1个要素
rvest::pluck(x, 1)
#[[1]]
#[1] 1
#[[2]]
#[1] 3
#[[3]]
#[1] 5
请注意,这样做会产生不同的结果,pluck
从中purrr
选择第一个元素(x[[1]]
)
purrr::pluck(x, 1)
#[[1]]
#[1] 1
#[[2]]
#[1] 2