如果我需要分別訪問列表中項目的名稱和值,那麼在R中遍歷列表的最有效方法是什麼?高效遍歷R中的列表
如果我嘗試類似:
lst <- list(a = 1, b = 2)
for(i in lst) {
# ...
}
然後我只得到了價值和看不到的方式來訪問的名稱。
所以目前我做的:
lst <- list(a = 1, b = 2)
for(i in names(lst)) {
# something with i
# something with lst[[i]]
}
但因爲我從列表中它的名字,我認爲是上網速度慢的每個項目,這似乎非常低效的給我。爲了避免我可以這樣做:
lst <- list(a = 1, b = 2)
for(i in seq_along(lst)) {
# something with names(lst)[i]
# something with lst[[i]]
}
但我不知道這是否或多或少有效。
有沒有比這兩者更有效的方法?如果不是,我應該使用哪些?
編輯:
答案this question和@Gladwell給出了另一個建議:
lst <- list(a = 1, b = 2)
names_lst <- names(lst)
for(i in seq_along(lst)) {
# something with names_lst[i]
# something with lst[[i]]
}
這是最快的選項?它可以以任何方式改進嗎?
可能重複[訪問樂福內部指數名稱](http://stackoverflow.com/questions/9950144/access-lapply-index-names-inside-fun) –
謝謝,這種方法看起來會更快。我不認爲這是一個重複的問題,但因爲我沒有要求這樣做(我已經知道緩慢的方式)。我想知道最快的方式,並且在接受的答案中沒有速度比較的方法。 – Danny