Comment puis-je convertir un dictionnaire Python pour une liste de tuples?

Si j'ai un dictionnaire comme:

{ 'a': 1, 'b': 2, 'c': 3 }

Comment puis-je convertir il pour cela?

[ ('a', 1), ('b', 2), ('c', 3) ]

Et comment puis-je convertir il pour cela?

[ (1, 'a'), (2, 'b'), (3, 'c') ]
  • [tuple(reversed(x)) for x in d.items()]
  • Compte tenu de x est déjà un tuple dans votre code (c'est la nature de items pour produire un objet iterable tuples), il serait plus simple, plus rapide de simplement faire de [x[::-1] for x in d.items()]; l'inversion de la tranche directement constructions de l'inversion de la tuple de la bonne taille, plutôt que d'avoir le tuple constructeur de manière itérative à remplir (avec la surutilisation et le redimensionnement à la fin) un tuple à partir d'un reversed itérateur.
  • vous êtes de droite. Je voulais juste être explicite qu'il n'est pas toujours un besoin pour k, v modèle dans de tels cas.
  • Remarque: ajout de compatibility tag en raison de py2.x // py3.différences x
InformationsquelleAutor mike | 2009-03-23