在 PHP 中,您可以使用 for 循环访问数组的名称和值
foreach ( $array as $key => $value ) {
循环命名列表时,R中有什么可比的吗?
在 PHP 中,您可以使用 for 循环访问数组的名称和值
foreach ( $array as $key => $value ) {
循环命名列表时,R中有什么可比的吗?
这是一种更简单的方法:
for (name in names(myList)) {
print(name)
print(myList[[name]])
}
注意:我没有编写此代码。我从这个页面复制了它。
使用一些虚拟数据和一个愚蠢的人为示例
ll <- list(A = 1:10, B = LETTERS[1:10], C = letters[1:10])
您可以lapply()
通过以下元素的索引ll
:
out <- lapply(seq_along(ll),
function(ind, list, names) {
paste(names[ind], "=", paste(list[[ind]], collapse = ", "))
}, list = ll, names = names(ll))
R> out
[[1]]
[1] "A = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10"
[[2]]
[1] "B = A, B, C, D, E, F, G, H, I, J"
[[3]]
[1] "C = a, b, c, d, e, f, g, h, i, j"
或for()
遍历列表:
ll2 <- vector("list", length(ll))
nams <- names(ll)
for(i in seq_along(ll)) {
ll2[[i]] <- paste(nams[i], "=", paste(ll[[i]], collapse = ", "))
}
ll2
R> ll2
[[1]]
[1] "A = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10"
[[2]]
[1] "B = A, B, C, D, E, F, G, H, I, J"
[[3]]
[1] "C = a, b, c, d, e, f, g, h, i, j"
要获取列表的名称,您只需使用names(list)
.
ll <- list(A = 1:10, B = LETTERS[1:10], C = letters[1:10])
names(ll)
#[1] "A" "B" "C"
如果列表以开头命名,则大多数 *apply 函数将返回适当命名的值。
sapply(ll, max)
# A B C
#"10" "J" "j"