As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center提供指导。




已关闭8年。




我最近开始学习R语言。我来自Java/Python背景。我发现令人惊讶的一件事是associative array中的R称为List,而不是MapDictionary

我认为诸如Map和Dictionary这样的名称更好地传达了这样一种观点,即数据结构是关联数组而不是列表。您能否让我知道其背后的背景/原因?

最佳答案

S的历史比Java或Python的历史悠久。该术语源自LisP,是最早的高级语言之一。

此外,您可以通过使用命名的原子向量来创建某些人可能称为关联数组的东西:

 vec <- c(a=1,b=2,c=3)
 vec["b"]
 #b
 #2

向量有两种:“递归的”和“原子的”。列表是第一类的。如果有分配给元素的键,则两者都可以通过“名称”建立索引。但是,R中的术语“名称”严格是指存在于具有对象值的环境中的符号。参见?as.name。在R中,“名称”或“符号”是在代码中未加引号的语言对象,而字符值用于通过键从数据对象分配或提取值。

关于r - 为什么R的关联数组称为列表而不是map/dictionary,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14134247/

10-11 02:41