【发布时间】:2011-01-04 01:40:30
【问题描述】:
Java 集合框架类似于 C++ 标准模板库:“用于表示和操作集合(将多个元素组合成一个单元的对象)的统一架构。”
http://java.sun.com/docs/books/tutorial/collections/intro/index.html
【问题讨论】:
标签: java c++ python collections
Java 集合框架类似于 C++ 标准模板库:“用于表示和操作集合(将多个元素组合成一个单元的对象)的统一架构。”
http://java.sun.com/docs/books/tutorial/collections/intro/index.html
【问题讨论】:
标签: java c++ python collections
事实证明,Python 中 Java 集合框架的等价物是……Python。 Java 集合框架中的所有核心集合都已存在于核心 Python 中。
试一试!序列提供列表、队列、堆栈等。字典是您的哈希表和映射。存在集合等。
人们可能会认为 Python 是一种比 Java 更“高级”的语言,因为它本身就提供了所有这些更高阶的抽象数据类型。 (它还支持面向对象、过程和函数式编程方法。)
【讨论】:
除了内置插件,您还可以查看collections。
>>> import collections
>>> dir(collections)
['Callable', 'Container', 'Hashable', 'ItemsView', 'Iterable', 'Iterator', 'KeysView', 'Mapping', 'MappingView', 'MutableMapping', 'MutableSequence', 'MutableSet', 'Sequence', 'Set', 'Sized', 'ValuesView', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_abcoll', '_iskeyword', '_itemgetter', '_sys', 'defaultdict', 'deque', 'namedtuple']
>>>
【讨论】:
deque 和list(内置)在很大程度上是兼容的,但对于某些使用模式,它们的表现却大不相同。)
list 作为 collections.Iterable 的正确子类。
collections 模块提供的统一架构的一部分。不要仅仅因为来自 Java 的概念偏见而将自己限制在 collections 模块的成员中。