J'ai un grand groupe de listes dans les listes que je veux combiner: Il ressemble un peu comme ceci:Comment combiner chacun des éléments de deux listes en Python?
[[1,2,3,4,5], [6,7,8,9,0], [2,5,7,9,4], [4,7,8,43,6]...]
jusqu'à environ 20 de ces listes dans une liste. Je veux maintenant combiner la première liste et la deuxième liste pour ressembler à ceci:
[[1,6], [2,7], [3,8], [4,9], [5,0]]
Et je veux le faire à nouveau avec le 1er et 3e, tout le chemin jusqu'à la fin. Et recommencez en commençant par la deuxième liste à la 3ème, 4ème ... dernière ligne (mais pas la première parce que cela a déjà été fait avec la 1ère à la 2ème liste). Comment puis-je écrire du code qui va le faire?
Voici ce que j'ai jusqu'à présent:
xcols = la colonne avec toutes les listes comme je l'ai montré ci-dessus
def MakeLists(xcols):
multilist = []
for i in xcols:
for j in xcols[index(i):]:
currentlist = map(list.__add__, i, j)
multilist.append(currentlist)
me donne une erreur quand je le lance bien, probablement à la partie carte parce que je ne sais pas comment convertir d'abord chaque élément en une liste et ensuite les mapper. Toute aide est la bienvenue. Merci!
Ce serait une très bonne solution, mais cela ne fonctionne pas de la façon dont OP veut que ça marche - c'est la deuxième liste avec le premier, etc. (mais il ne faut que 'zip' seulement avec les listes suivant la deuxième liste etc.). – Tadeck
Je pense que OP doit avoir demandé des combinaisons, plutôt que des permutations: "(mais pas le premier parce que cela a déjà été fait avec la première à la deuxième liste)" –
Merci, les gars. Je suppose que je n'ai pas bien compris ou prêté assez d'attention. J'ai mis à jour ma réponse. – stranac