-2
votes

Puis-je utiliser une compréhension de liste pour créer une liste de listes?

Compte tenu de cette valeur:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

Y a-t-il un moyen d'utiliser une compréhension de liste pour produire cette valeur:

[[[1, 4, 7], [2, 5, 8], [3, 6, 9]] ?

Je préférerais le faire sans utiliser zip, si possible.

merci!

EDIT: Ma raison pour ne pas vouloir utiliser Zip était que j'ai utilisé Zip pour faire quelque chose de similaire auparavant (bien que non une liste de listes), et il a été recommandé d'essayer une compréhension de la liste à la place, ce qui en fait un petit rang . Je pensais que le même principe pourrait s'appliquer ici, mais peut-être pas, car il s'agit d'une liste de listes et non seulement d'une seule liste comme le problème précédent.

En outre, mes tentatives à ce sujet avant de poster cette question ne valaient même pas la peine d'être partagée. Il s'agissait essentiellement d'une compréhension de liste qui a créé une seule liste, et je n'ai pas pu comprendre comment créer une liste de listes avec elle. Peut-être que ce n'est pas aussi simple que j'avais espéré. Je pourrais aller avec zip après tout.


3 commentaires

FYI - Cela va être évité de manière agressive à moins de montrer ce que vous avez essayé jusqu'à présent pour faire ce travail. Il ne faut pas avoir raison, juste une tentative.


Pourquoi ne pas utiliser zip ? C'est le moyen le plus rapide et le plus concis possible de le faire.


Vous pouvez toujours utiliser la compréhension pour modifier les tuples, mais zip (* Alist) est l'idiome le plus courant pour "transposer" une liste de listes.


4 Réponses :


4
votes

Essayez ceci: xxx

à l'aide de zip Vous pouvez prendre des valeurs de listes intérieures ensemble et utiliser * vous pouvez déballer ces valeurs < / p> xxx

ou xxx


0 commentaires

0
votes

sans zip: xxx


0 commentaires

-1
votes

Que diriez-vous de cela? XXX

sur la base de mes tests, cela fonctionne comme la méthode de @ Himanshu de faire [* list1 (* list1)] et et et Liste (carte (liste, zip (* list1)))


0 commentaires

3
votes

sans zip : xxx


0 commentaires