为了在 R 程序中访问列表的元素,我们使用内置函数 `lapply()`。通常,在编程语言中,我们使用循环。有不同类型的 `apply()` 函数可用于处理列表、向量和数据框,它们也可以看作是循环结构的替代品。`lapply()` 就是其中之一,'l' 代表列表。此函数有助于对列表对象执行某些操作,并返回与作为参数给出的列表对象长度相同的列表。返回列表将是 `FUN` 应用于 `X` 相应元素的结果。此函数的语法是
lapply(X, FUN, …)
其中 X 是向量(原子或列表)或表达式对象,FUN 是要应用于 X 的每个元素的函数
在此 R 程序中,我们直接将值传递给内置函数 `lapply()`。这里我们使用变量 **values_lst** 来保存嵌套列表。变量 **rslt_lst** 是将函数应用于 **values_lst** 的每个元素后的结果列表。调用函数 `lapply()` 以将函数 `FUN` 应用于列表元素,我们使用的 `FUN` 是双括号“[[”,它将从列表中提取一个元素,这里我们选择每个嵌套列表的第二个元素。
步骤 1:将变量 **values_lst** 赋值为一个嵌套列表
步骤 2:显示列表的原始值
步骤 3:调用应用函数 `lapply(values_lst, '[[', 2)` 以查找每个列表的第二个元素
步骤 4:将结果列表赋值给变量 **rslt_lst**
步骤 4:打印结果
values_lst = list(list(1,3), list(2,5), list(6,7))
print("Original nested list is:")
print(values_lst)
rslt_lst = lapply(values_lst, '[[', 2)
print("Second element of the nested list is:")
print(rslt_lst)
[1] "Original nested list is:" [[1]] [[1]][[1]] [1] 1 [[1]][[2]] [1] 3 [[2]] [[2]][[1]] [1] 2 [[2]][[2]] [1] 5 [[3]] [[3]][[1]] [1] 6 [[3]][[2]] [1] 7 [1] "Second element of the nested list is:" [[1]] [1] 3 [[2]] [1] 5 [[3]] [1] 7