为什么Python的dict.keys()返回一个列表而不是一个集合?

我会希望Python的keys方法返回一个集合,而不是一个列表。 因为它最类似于hashmap的键所能提供的保证。 具体而言,它们是独一无二的,不像一套一样sorting。 但是,这个方法返回一个列表:

>>> d = {} >>> d.keys().__class__ <type 'list'> 

这只是在Python API中的一个错误,还是有一些其他的原因,我错过了?

原因之一是dict.keys()早于集合引入到语言中。

注意在Python 3中dict.keys()的返回types已经改变了:函数现在返回一个视图而不是一个列表。