请不要燃烧,作为一个社区wiki问,所以没人在这里获得声誉。 我知道python不是第一个拥有列表理解功能的语言。 我只是对名字的历史感兴趣。为什么在Python中调用列表理解?
我在为什么它被称为理解
请不要燃烧,作为一个社区wiki问,所以没人在这里获得声誉。 我知道python不是第一个拥有列表理解功能的语言。 我只是对名字的历史感兴趣。为什么在Python中调用列表理解?
我在为什么它被称为理解
这个名字来源于一个set-comprehension
理解这里使用的概念是指完全容纳或完整描述。集合理解是对集合的(通常是短的)完整描述,而不是详尽的(也可能是无限的)列举。
维基百科网页的历史记录节讨论它是从哪里来的一点特别感兴趣。 List_comprehension#History
因为这是一个非常综合方式来描述一个序列(数学和其他语言的一个集合,以及Python中的一个列表/序列)。
“理解”不仅意味着“理解”,而是“包含”逻辑。 “牛津英语词典”有以下内容:“I.4.逻辑概念或概念中包含的属性的总和;作为第一个定义下的第四个子定义”包含,包含“的内涵。我不会惊讶地发现,通过那里传递到数学史的用法。在列表或集合理解中,程序员不用明确地给出列表的元素或设置,而是用表达式来描述他们理解的内容(在“包含”意义上)。
由于bodnarbm提到,它有很长的历史。您将在许多函数式编程语言中找到列表解析,并在离散数学中找到类似的东西。 – Joe 2009-12-14 22:41:26