1
votes

Les listes Python 2 fusionnent dans une liste à 2 dimensions

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 :


2
votes

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)


0 commentaires

1
votes

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]])


0 commentaires

0
votes

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))]


0 commentaires