Função keys() de acordo com versão do python

Função keys() de acordo com versão do python

by Anderson Andrei da Silva -
Number of replies: 1

Boa tarde,

(No python 3.4)  Quando estou mexendo com dicionários (estou mexendo no meu EP4), ao usar a função keys() ele não me retorna uma lista, e sim algo do tipo 'dict_keys'. :

>>> dic={1:2,2:2}
>>> dic.keys()
dict_keys([1, 2])
>>> type(dic.keys())
<class 'dict_keys'>

Agora, se faço o mesmo no python 2.7 tudo ocorre como esperado:

>>> dic = {1:2,2:3}
>>> dic
{1: 2, 2: 3}
>>> dic.keys()
[1, 2]
>>> type(dic.keys())
<type 'list'>

Contornei a solução no python 3.4 fazendo list(dic.keys()) e então sai tudo ok:

>>> list(dic.keys())
[1, 2]

Mas alguém sabe me dizer porque isso acontece, ou se tem algo que eu possa mudar no python 3.4 para 'corrigir' a situação.  E se a nível de correção de EP o que eu devo usar? A forma que funciona no python 3.4  ou no 2.7 ?

Agradeço desde já! smile

In reply to Anderson Andrei da Silva

Re: Função keys() de acordo com versão do python

by José Coelho de Pina -

A forma que funciona no python 3.4  ou no 2.7 ?

O Python utilizado em MAC0122 é o 3.