J'essaie de mettre les éléments dans list2 à l'intérieur de chacune des listes imbriquées dans list1. Voici ce que j'ai essayé jusqu'à présent:

list_1 = [[0, 1], [1, 4], [2, 3]]
list_2 = [100, 100, 100]
store_1 = []
for x in list_1:
    for y in list_2:
        x.append(y)
        store_1.append(x)
print(store_1)

Mais la sortie est:

[[0, 1, 100, 100, 100], [0, 1, 100, 100, 100], [0, 1, 100, 100, 100], [1, 4, 100, 100, 100], [1, 4, 100, 100, 100], [1, 4, 100, 100, 100], [2, 3, 100, 100, 100], [2, 3, 100, 100, 100], [2, 3, 100, 100, 100]]

La sortie doit être comme ceci:

[[0,1,100],[1,4,100], [2,3,100]]

Comment puis-je corriger mon code pour obtenir la sortie souhaitée?

2
Mahir Islam 19 mars 2019 à 16:23

2 réponses

Meilleure réponse

Utilisation de zip

Ex:

list_1 = [[0, 1], [1, 4], [2, 3]]
list_2 = [100, 100, 100]
store_1 = [x + [y] for x, y in zip(list_1, list_2)]
print(store_1)

Sortie:

[[0, 1, 100], [1, 4, 100], [2, 3, 100]]
5
Rakesh 19 mars 2019 à 13:28

Sans utiliser zip

list_1 = [[0, 1], [1, 4], [2, 3]]
list_2 = [100, 100, 100]
[list_1[idx] + [x] for idx, x in enumerate(list_2)]

> [[0, 1, 100], [1, 4, 100], [2, 3, 100]]
1
Hello.World 19 mars 2019 à 13:35