111 votes

Zip avec sortie de liste au lieu de tuple

Quelle est la façon la plus rapide et la plus élégante de faire une liste de listes à partir de deux listes?

J'ai

Et j’aimerais avoir

Je pensais utiliser map au lieu de zip, mais je ne sais pas s’il existe une méthode de bibliothèque standard à mettre comme premier argument.

Je peux def ma propre fonction pour cela, et utiliser la carte, ma question est de savoir s’il y a déjà mis en œuvre quelque chose. Non est aussi une réponse.

117voto

D K Points 2239

Si vous compressez plus de 2 listes (ou même seulement 2, d’ailleurs), un moyen lisible serait:

Cela utilise des compréhensions de liste et convertit chaque élément de la liste (tuples) en listes.

63voto

Eldamir Points 317

Vous avez presque eu la réponse vous-même. N’utilisez pas à la place de . Utilisez **AND** .

Vous pouvez utiliser la carte avec zip pour une approche élégante et fonctionnelle:

retourne une liste de tuples. appelle chaque tuple de la liste. transforme l’objet map en une liste lisible.

15voto

Karin Lin Points 75

J’aime l’élégance de la fonction zip, mais l’utilisation de la fonction itemgetter() dans le module opérateur semble être beaucoup plus rapide. J’ai écrit un script simple pour tester ceci:

Je m’attendais à ce que zip soit plus rapide, mais la méthode itemgetter gagne de loin:

4voto

Ceasar Bautista Points 1006

Je n’aime généralement pas utiliser lambda, mais...

Si vous avez besoin de la vitesse supplémentaire, la carte est légèrement plus rapide:

Toutefois, la carte est considérée comme nonpythonique et ne doit être utilisée que pour le réglage des performances.

3voto

Broseph Points 586

Qu’en pensez-vous ?

Ou encore mieux :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X