23

我知道 python 不是第一种具有列表理解的语言。我只是对这个名字的历史感兴趣。

我对为什么它被称为理解特别感兴趣

4

5 回答 5

22

这个名字来源于集合理解的概念

理解在这里用来表示完全包含完全描述。集合理解是对集合的(通常是简短的)完整描述,而不是详尽的(并且可能是无限的)枚举。

于 2009-12-14T22:46:34.980 回答
8

“理解”过去不仅意味着“理解”,还意味着逻辑中的“包含”。牛津英语词典有以下内容:“I.4.逻辑概念或概念中包含的属性的总和;内涵”作为第一个定义“包含,包含”下的第四个子定义。得知这种用法通过那里进入了数学史,我不会感到惊讶。在列表或集合理解中,程序员不是显式地给出列表或集合的元素,而是用表达式描述他们所理解的(在“包含”意义上)。

于 2013-07-21T21:54:23.413 回答
3

https://www.merriam-webster.com/dictionary/comprehend

3 - 通过构造或暗示包括

于 2018-06-07T11:18:16.570 回答
1

维基百科页面的历史部分讨论了它的来源。 List_comprehension#History

于 2009-12-14T22:34:49.540 回答
1

因为它是描述序列(数学和其他语言中的集合,Python 中的列表/序列)的一种非常全面的方式。

于 2010-01-05T10:55:29.750 回答