60
我会希望Python的keys方法返回一个集合而不是一个列表。因为它非常类似于hashmap的键可以提供的保证类型。具体来说,它们是独一无二的,没有排序,就像一套。然而,这个方法返回一个列表:为什么Python的dict.keys()返回一个列表而不是一个集合?
>>> d = {}
>>> d.keys().__class__
<type 'list'>
这只是Python API中的错误或有我错过了一些其他原因?
它是一个视图,而不是一个列表/设置/等。因为很少需要复制所有密钥。 – delnan
,那些视图可以作为'set()'处理!允许'dict.keys()| set()'操作。 Py3的岩石:) – yota
如果你坚持使用Py2,你可以通过调用'dict.viewkeys()'并使用集合操作'|','&'来实现。 – Tobia