Vous ne pouvez pas utiliser items
au lieu de iteritems
en tous lieux dans Python. Par exemple, le code suivant :
class C:
def __init__(self, a):
self.a = a
def __iter__(self):
return self.a.iteritems()
>>> c = C(dict(a=1, b=2, c=3))
>>> [v for v in c]
[('a', 1), ('c', 3), ('b', 2)]
se brisera si vous utilisez items
:
class D:
def __init__(self, a):
self.a = a
def __iter__(self):
return self.a.items()
>>> d = D(dict(a=1, b=2, c=3))
>>> [v for v in d]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __iter__ returned non-iterator of type 'list'
Il en va de même pour voir les articles qui est disponible dans Python 3.
En outre, étant donné que articles renvoie une copie de la liste des éléments suivants du dictionnaire (key, value)
paires, c'est moins efficace, à moins que vous ne vouliez de toute façon créer une copie.
En Python 2, il est préférable d'utiliser iteritems
pour l'itération. Le site 2to3
peut le remplacer par items
si vous décidez un jour de passer à Python 3.