22

将命名项目添加到列表时,是否保证该项目将添加到列表的末尾?在实践中似乎是这样,但不确定这是否是一个危险的假设?

test = list()
test[[ "one" ]] = 1
test[[ "two" ]] = 2  # will always appear after "one"?
test[[ "three" ]] = 3  # will always appear after "two"?
4

2 回答 2

34

如果没有记录(而且似乎没有),那么我就不会依赖它。您可以通过执行以下操作确保它出现在列表的末尾:

test <- list()
test <- c(test, one=1)
test <- c(test, two=2)
test <- c(test, three=3)
于 2011-09-29T15:11:16.083 回答
5

我怀疑如果您深入研究 R 的 C 代码,那么您会发现这是真的,但正如 Joshua 所说,它没有记录在案。您可以向 R-dev 询问是否应记录此类行为的意见。可能已经存在依赖它的代码。

于 2011-09-29T15:22:08.310 回答