J'ai deux listes Je voudrais les résumer pour me donner ce qui suit: Ceci a été fait en faisant Je comprends que J'aimerais que l'inadéquation de la longueur soit résolue en remplissant la première longueur avec zéro. p> [1,2,3,4] code> et
[1,2,3] code> p> p>
[1,3,5,7] code>. p>
1 + 0 = 1 code>,
2 + 1 = 3 code>,
3 + 2 = 5 code> et
et
et
4 + 3 = 7 code>. P>
itheroTools.zip_longest code> ferait cela, mais il remplirait la longueur de la longueur avec
0 code> à la fin, me donnant
[2,3 , 6,4] code> et non la valeur que je veux. P>
5 Réponses :
Vous pouvez céder la deuxième liste avec zéros et utiliser sortie: p> zip code>:
[1, 3, 5, 7]
Cela suppose que s2 code> est toujours la liste plus courte,
zip_longest code> déterminera qui est plus courte. Pas une mauvaise solution, mais aurait probablement besoin d'une étape précédente pour déterminer quelle liste à la palette à l'avant.
Vous pouvez faire le tour de ce problème soit Inverser em> vos listes Befor zip code> avec
zip_longest code>.
res = res[::-1]
print(res) # [1, 3, 5, 7]
Vous pouvez utiliser la fonction cette sortie: p> inversée code> pour générer les deux listes de l'ordre inverse afin que
zip_longest code> alignerait la zippation de l'autre extrémité, puis inversez le résultat après:
Ne différait pas beaucoup de mienne, n'est-ce pas?
J'ai vu le tien après avoir posté le mien. Ils sont en effet la même chose en identité, mais comme le mien est un peu plus généralisé en ce sens qu'il peut accueillir plusieurs listes, j'ai décidé de quitter le mien ici.
L'intégré inversé () code> < / a> fonction pourrait être utilisé pour le faire comme ceci: