Combiner zip et enumerate

Parfois, nous pourrions vouloir connaître les indices des listes combinées avec zip. Dans ce cas, nous pouvons utiliser enumerate() en plus de zip(). Cependant, il est essentiel de comprendre ce que fait chacune de ces fonctions. zip renvoie un tuple pour chaque paire d'éléments des listes. enumerate renvoie un tuple pour chaque élément d'une liste. Par conséquent, la structure résultante sera un tuple de tuples :
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
zip(a, b)             # [(1, 5), (2, 6), (3, 7), (4, 8)]
enumerate(a)          # [(0, 1), (1, 2), (2, 3), (3, 4)]
enumerate(b)          # [(0, 5), (1, 6), (2, 7), (3, 8)]
enumerate(zip(a, b))  # [(0, (1, 5)), (1, (2, 6)), (2, (3, 7)), (3, (4, 8))]

# Therefore, we need to loop over the elements with tuples:
for i, (item1, item2) in enumerate(zip(a, b)):
    print(f'index: {i} => a[i]={item1} and b[i]={item2}')

# index: 0 => a[i]=1 and b[i]=5
# index: 1 => a[i]=2 and b[i]=6
# index: 2 => a[i]=3 and b[i]=7
# index: 3 => a[i]=4 and b[i]=8
# Par conséquent, nous devons parcourir les éléments avec des tuples :

Défi

Étant donné 3 listes, chacune sur une ligne séparée, vous êtes invités à créer une nouvelle liste à partir de celles-ci qui représentera la somme des éléments des 3 listes, tout en sautant les valeurs aux positions impaires (l'indexation commence à 0).
L'entrée contient 3 lignes - chacune contenant des nombres séparés par un espace.
Le programme doit imprimer une seule ligne - la liste résultante.
Entrée
Sortie
1 2 3 4 5 6 7 8 9 10 11 12
15 21
Pouvez-vous résoudre cela en une seule ligne 😎 ?
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue