默认列表值

时间:2016-05-02 02:01:02

标签: r

我正在迭代计算列表中某些值的出现次数:

counts <- list()
lst <- list(1, 4, 6, 10)

for (i in lst) {
  arbitraryKey <- toString(i %% 3)
  arbitraryCondition <- i %% 2 == 0

  if (!(arbitraryKey %in% names(counts))) {
    counts[[arbitraryKey]] <- 0
  }
  if (arbitraryCondition) {
    counts[[arbitraryKey]] <- counts[[arbitraryKey]] + 1
  }
}

有没有办法不需要初始化列表中缺少的元素?

  if (!(arbitraryKey %in% names(counts))) {
    counts[[arbitraryKey]] <- 0
  }

也许这可以通过将NULL转换为0或通过为列表提供默认值来实现?

0 个答案:

没有答案