Dans Python 2.x - .items()
retourne une liste de paires (clé, valeur). Dans Python 3.x, .items()
est maintenant un itemview
qui se comporte différemment, de sorte qu'il a pour être itéré, ou matérialisé... Donc, list(dict.items())
est nécessaire pour ce qui était dict.items()
dans Python 2.x.
Python 2.7 dispose également d'une sorte d'arrière-port pour la gestion des clés, dans la mesure où vous pouvez utiliser la commande viewkeys
, viewitems
y viewvalues
les méthodes les plus utiles étant viewkeys
qui se comporte davantage comme un set
(ce que l'on attend d'un dict
).
Un exemple simple :
common_keys = list(dict_a.viewkeys() & dict_b.viewkeys())
vous donnera une liste des clés communes, mais encore une fois, en Python 3.x - utilisez simplement .keys()
à la place.
Python 3.x a généralement été conçu pour être plus "paresseux", c'est-à-dire qu'il n'est pas nécessaire d'avoir recours à un système de gestion de la qualité. map
est maintenant effectivement itertools.imap
, zip
est itertools.izip
etc.