向列表中添加一個已命名的項目時,是否保證該項目將被添加到列表的末尾?在實踐中似乎是這樣,但不確定這是否是一個危險的假設?添加命名的項目到命名列表 - 保證追加到列表的末尾?
test = list()
test[[ "one" ]] = 1
test[[ "two" ]] = 2 # will always appear after "one"?
test[[ "three" ]] = 3 # will always appear after "two"?
向列表中添加一個已命名的項目時,是否保證該項目將被添加到列表的末尾?在實踐中似乎是這樣,但不確定這是否是一個危險的假設?添加命名的項目到命名列表 - 保證追加到列表的末尾?
test = list()
test[[ "one" ]] = 1
test[[ "two" ]] = 2 # will always appear after "one"?
test[[ "three" ]] = 3 # will always appear after "two"?
如果它沒有記錄(它似乎不是),那麼我不會依賴它。你可以確保它做類似的東西出現在列表的末尾:
test <- list()
test <- c(test, one=1)
test <- c(test, two=2)
test <- c(test, three=3)
我懷疑,如果你深入研究R的C代碼,那麼你會看到,它是真實的,但約書亞表示,其沒有記錄。您可以向R-dev詢問是否記錄此類行爲應該的意見。可能已經存在依賴於它的現有代碼。
要清楚的是,您正在使用字符串鍵'[['one']]'或'[['1']]'不是數字鍵'[[1]]'。我們可以把它所有的字符串鍵都按照整理順序嗎?你能像'[['1']]'而不是'[['one']]'這樣的字符串鍵嗎? – smci