J'ai deux listes
c=[[1,4],[2,5],[3,6]]
Je veux une nouvelle liste à 2 dimensions
a=[1,2,3] b=[4,5,6]
comment puis-je concaténer 2 listes? p >
3 Réponses :
Utilisez la fonction zip
associée à la compréhension de list
pour obtenir la liste
de la liste
s plutôt que la liste
des tuple
s, c'est-à-dire:
[[1, 4], [2, 5], [3, 6]]
Sortie:
a=[1,2,3] b=[4,5,6] c=[list(i) for i in zip(a,b)] print(c)
Je ne sais pas si cela est efficace. Mais cela devrait fonctionner:
a=[1,2,3] b=[4,5,6] c = [] for i in range(len(a)): c.append([a[i], b[i]])
Vous pouvez le faire aussi facilement que:
list(map(list, zip(a, b)))
[[1, 4], [2, 5], [3, 6]]
Voilà!
Le *
déballe tous les éléments compressés dans une liste, et list
est l'appelable qui sera appliqué à chaque résultat du zip
.
Cela ferait de même, et pourrait être un peu plus agréable pour les yeux:
[*map(list, zip(a, b))]
docs.python.org/2/library/functions.html#zip