Eu esperava que o método keys do Python retornasse um conjunto em vez de uma lista. Uma vez que é mais parecido com o tipo de garantia que as chaves de um hashmap dariam. Especificamente, eles são únicos e não classificados, como um conjunto. No entanto, este método retorna uma lista:
>>> d = {}
>>> d.keys().__class__
<type 'list'>
Isso é apenas um erro na API Python ou há algum outro motivo que estou perdendo?
python
python-2.x
a si mesmo
fonte
fonte
Respostas:
Um dos motivos é que é
dict.keys()
anterior à introdução de conjuntos na linguagem.Observe que o tipo de retorno de
dict.keys()
mudou no Python 3: a função agora retorna uma visualização "semelhante a um conjunto" em vez de uma lista.fonte
set()
! que permitemdict.keys() | set()
operações. Py3 rocks :)dict.viewkeys()
e usando-o com operações de conjunto|
,&
...