[Python] Lista delle chiavi di un dizionario.

Gabriele Battaglia iz4apu a libero.it
Mar 4 Feb 2020 11:52:51 CET


Ciao.
Mi sono imbattuto in un'altra differenza fra Python 2 e 3.
Nel 2, dict.keys() era una lista. Ora invece:

 >>> g={}
 >>> g[1]='abc'
 >>> g[2]='def'
 >>> g[3]='ghi'
 >>> g
{1: 'abc', 2: 'def', 3: 'ghi'}
 >>> type(g.keys())
<class 'dict_keys'>
 >>> h=g.keys()
 >>> h
dict_keys([1, 2, 3])
 >>> dir(h)
['__and__', '__class__', '__contains__', '__delattr__', '__dir__', 
'__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', 
'__gt__', '__hash__', '__
init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', 
'__ne__', '__new__', '__or__', '__rand__', '__reduce__', 
'__reduce_ex__', '__repr__'
, '__reversed__', '__ror__', '__rsub__', '__rxor__', '__setattr__', 
'__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 
'isdisjoint']
 >>>
Secondo voi quali sono i vantaggi di questo cambiamento? Intendo, che 
proprietà possiede la classe dict_keys più utili di class list?

Grazie.

-- 
Gabriele Battaglia, IZ4APU (Libero)
Sent from TB on Windows 10, Genus Bononiae's computer.


Maggiori informazioni sulla lista Python