0
votes

Comment fusionnez-vous une liste de deux dimensions et une liste tridimensionnelle ensemble?

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


2 commentaires

Est-il vrai que le deuxième niveau a toujours la même longueur?


Oui . Pensez-vous que cela peut être fait


4 Réponses :


1
votes

Essayez ceci:

c = b[:]
for i,j in zip(a,c):
    for k in j:
        k.extend(i)
        k.sort()


0 commentaires

2
votes

Si vous avez envie d'un oneeliner: xxx


0 commentaires

1
votes

Une autre doublure 1, en utilisant énumérer au lieu de zip : xxx


0 commentaires

1
votes

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


0 commentaires