Problem

11 /11


Générateurs de listes

Theory Click to read/hide

Générateurs de listes

Le langage Python permet de résoudre de nombreux problèmes de manière concise et fiable. Énumérons les principales possibilités pour remplir un tableau. 1) La création et le remplissage d'un tableau peuvent être écrits comme ceci : A = [i for i in range(N)] # Avec N = 5, tableau A = [0,1,2,3,4] A = [i*i for i in range(N)] # Avec N = 5, tableau A = [0,1,4,9,16] for i in range(N) - boucle sur toutes les valeurs i de 0 à N-1.

Le prochain élément du tableau contiendra la valeur qui précède le mot for, dans le premier cas i, dans le second - i*i.

On obtient le même résultat en utilisant la notation suivante : A = list(range(N)) # avec N = 5, tableau A = [0,1,2,3,4]
2) Vous pouvez écrire dans le tableau non pas toutes les valeurs, mais uniquement celles qui satisfont à une certaine condition.
 
Exemple
Remplir le tableau avec tous les nombres pairs dans la plage 0 à 9. A = [i pour i dans la plage (10) si je % 2 == 0] print(*A) # tableau A = [0,2,4,6,8] Dans ce cas, vous devez comprendre que la longueur du tableau sera inférieure à 10. 

3) Remplir un tableau à partir du clavier avec des éléments situés un par ligne peut se faire de deux manières.
 
N=5 A = [0]*5 pour i dans la plage (N): A[i] = int(input())
A = [int(input()) for i in range(N)] # chaque fois que la boucle se répète, # la chaîne d'entrée est convertie # à un entier (en utilisant int) # et ce nombre est ajouté au tableau


4) Remplir un tableau depuis le clavier avec des éléments qui sont tous situés sur la même ligne est un peu plus compliqué. Vous devez lire la chaîne, la diviser en éléments, puis convertir chaque élément en un entier s = input().split()  A = [int(i) pour i dans s]  ou alors A = list(map(int, input().split())) # fonction intégrée list()   # transforme la séquence   # à la liste modifiable

Sortie de tableau

Vous pouvez également afficher un tableau à l'écran de différentes manières.
 
pour je dans la plage(len(A)): print(A[i], end=" ")
pour x dans A : print(x, end=" ")
impression(*A) # signe * devant le nom # du tableau signifie que # doit être converti # tableau en un ensemble de valeurs individuelles
Méthode standard, utilisée dans de nombreux langages de programmation. Un tel cycle peut être écrit plus court. La valeur de х à chaque étape de la boucle est remplie avec l'élément suivant du tableau. En Python, vous pouvez écrire comme ceci.

Problem

L'entrée est le nombre N - le nombre d'éléments du tableau. 
Viennent ensuite deux tableaux de N entiers chacun :
- les éléments du premier tableau vont un par ligne ;
- éléments du deuxième tableau - tous écrits sur une ligne séparés par un espace.
Remplissez deux tableaux et imprimez leurs éléments séparés par un espace sur une ligne :
- le premier tableau de la première ligne ;
- le deuxième tableau de la deuxième ligne.
 
Exemples
# Entrée Sortie
1 3
1
2
3
4 5 6 1 2 3
4 5 6