J'ai du mal à comprendre un code à écrire qui fusionnera une liste de deux dimensions à une liste tridimensionnelle. Par exemple, "A" est une liste de deux dimensions et "B" est une liste tridimensionnelle que je voudrais les fusionner deux ensemble et trier dans l'ordre. Si cela est possible, cela peut-il être fait avec une compréhension de la liste? Pour un autre exemple, voici ma liste ci-dessous.
c = [[[3, 7, 9, 28],[3, 7, 9, 28],[3, 7, 9, 28]], [[3, 4, 28],[4, 7, 28],[4, 7,28]], [[7, 11, 28],[3, 11, 28],[3, 7, 12, 28]]]
4 Réponses :
Essayez ceci:
c = b[:] for i,j in zip(a,c): for k in j: k.extend(i) k.sort()
Si vous avez envie d'un oneeliner:
Une autre doublure 1, en utilisant énumérer code> au lieu de
zip code>:
Cela devrait fonctionner:
c = [[sorted(i+x) for i in y] for x, y in zip(a,b)] print(c) #[[[3, 7, 9, 28],[3, 7, 9, 28],[3, 7, 9, 28]],[[3, 4, 28],[4, 7, 28],[4, 7,28]],[[7, 11, 28],[3, 11, 28],[3, 7, 12, 28]]
Est-il vrai que le deuxième niveau a toujours la même longueur?
Oui . Pensez-vous que cela peut être fait