Rappelez-vous que vous pouvez créer une liste de n lignes et m colonnes en utilisant le générateur (qui crée une liste de n éléments, où chaque élément est une liste de m zéros): [[0] * m for i in range(n)] Mais la liste interne peut également être créée en utilisant, par exemple, un tel générateur: [0 for j in range(m)]. Comment parcourir une liste en Python. Nesting un générateur dans un autre, nous obtenons [[0 for j in range(m)] for i in range(n)] Comment est-ce lié à notre problème? La chose est, si le nombre 0 est remplacé par une expression qui dépend de i (le numéro de ligne) et j (le numéro de colonne), vous obtenez la matrice remplie selon une formule. Par exemple, supposons que vous ayez besoin d'initialiser le tableau suivant (par commodité, des espaces supplémentaires sont ajoutés entre les éléments): 0 0 0 0 0 0 0 1 2 3 4 5 0 2 4 6 8 10 0 3 6 9 12 15 0 4 8 12 16 20 Dans ce tableau, il y a n = 5 lignes, m = 6 colonnes, et l'élément avec l'indice de ligne i et l'index de colonne j est calculé par la formule a[i][j] = i * j.
D'abord, remplissez la diagonale principale, pour laquelle nous aurons besoin d'une boucle: for i in range(n): a[i][i] = 1 Remplissez ensuite avec des zéros tous les éléments au-dessus de la diagonale principale. Pour cela, pour chaque ligne avec le nombre i vous devez assigner une valeur à a[i][j] pour j = i+1,..., n-1. Pour ce faire, vous avez besoin de boucles imbriquées: for i in range(n): for j in range(i + 1, n): Par analogie, pour j = 0,..., i-1 met les éléments a[i][j] égal à 2: for i in range(n): for j in range(0, i): Vous pouvez combiner tout ce code et recevoir une autre solution: Voici une autre solution, qui répète les listes pour construire les lignes suivantes de la liste. Python parcourir tableau 2 dimensions et. La i -th ligne de la liste est composée de i nombres 2, suivis d'un entier 1, suivi de ni-1 zéros: a[i] = [2] * i + [1] + [0] * (n - i - 1) Comme d'habitude, vous pouvez remplacer la boucle avec le générateur: a = [[2] * i + [1] + [0] * (n - i - 1) for i in range(n)] 5. Tableaux bidimensionnels: générateurs imbriqués Vous pouvez utiliser des générateurs imbriqués pour créer des tableaux bidimensionnels, en plaçant le générateur de la liste qui est une chaîne, à l'intérieur du générateur de toutes les chaînes.
Voci mon script (non fonctionnel): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 fichier = open ( "", "r") #fichier de lecture sortie = open ( "", "wb") #fichier de sortie liste = [] i = 0 for ligne in adlines (): #parcours du fichier cols = ( ' \n ') ( ' ') ( cols [ 0]) #remplissage de la liste for i in liste: #parcours de la liste if cols [ 3]! = 0: ( "'%s', '%s' \n "% ( i, cols [ 3)) #test sur la colonne 3 if cols [ 4]! = 0: ( "'%s', '%s' \n "% ( i, cols [ 4)) i += 1 # on traite le nom de famille suivant Si vous aviez une piste, je pense que mon parcours de la liste est mauvais, et l'incrémentation ne marche pas (étant que le i représente une chaine de caractère), bref je ne vois pas trop comment m'en sortir 26/12/2011, 15h23 #2 Membre éprouvé c'est quoi ce tableau? un dict? 26/12/2011, 15h31 #3 Pardon en fait je me suis mal exprimé, je schématise ca comme un tableu à 2 dimensions mais il s'agit en fait d'un fichier texte contenant des colonnes. Les tableaux en Python - WayToLearnX. Une colonne "horizontale" avec les noms de famille et des colonnes "verticales'" avec les prénoms.
Vous devez toujours savoir clairement si un index particulier se réfère à une ligne ou à une colonne. Regardez cette image: Il vous donne les coordonnées des éléments dans une grille en termes de numéro de ligne suivi d'un numéro de colonne. Il est important de noter que l'ordre de ces coordonnées en termes de vertical et d'horizontal est différent de celui auquel vous êtes habitué des coordonnées x, y en mathématiques. Ces listes 2D existent en mathématiques et sont appelées matrices, mais ce n'est pas un sujet que vous êtes susceptible de couvrir à moins que vous n'étudiiez les mathématiques de niveau A. 3. Code Python pour une liste 2D: Le code qui produit la grille dans l'image est ci-dessous. Python parcourir tableau 2 dimensions de la. grille = [] for line in range(5): nvline = [] for col in range(5): ((line, col)) (nvline) for line in grille: print(line) Étudiez bien ce code et assurez-vous de bien le comprendre. Il utilise des boucles imbriquées, que vous devrez également connaître. En général, les sujets de la programmation Python et de l'informatique se complètent très souvent.
Initialisation d'un tableau bidimensionnelle
Les tableaux multidimensionnelles peuvent être initialisées en spécifiant des valeurs entre parenthèses pour chaque ligne. Voici un tableau avec 3 lignes et chaque ligne a 4 colonnes. int tab[3][4] = {
{0, 1, 2, 3},
{4, 5, 6, 7},
{8, 9, 10, 11}};
Les accolades imbriquées sont facultatives. Python parcourir tableau 2 dimensions des. L'initialisation suivante est équivalente à l'exemple précédent
int tab[3][4] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
Accès aux éléments d'un tableau à deux dimensions
Un élément d'un tableau bidimensionnel est accessible en utilisant les indices, c'est-à-dire l'indice de ligne et l'indice de colonne du tableau. Par exemple
int var = tab[1][2];
L'instruction ci-dessus prendra le 3ème élément de la 2ème ligne du tableau. Nous allons vérifier le programme suivant où nous avons utilisé une boucle imbriquée pour manipuler un tableau bidimensionnel
#include Lors de la spécification d'une plage, la valeur de retour sera un nouveau tableau avec les éléments spécifiés. L'exemple suivant renvoie le troisième et quatrième éléments:
print(tab[2:4])
array('i', [3, 4])
La recherche commencera à l'index 2 (inclus) et se terminera à l'index 4 (non inclus). En ignorant la valeur de départ, la plage commencera au premier élément. L'exemple suivant renvoie les éléments du début jusqu'à le troisième élément:
print(tab[:3])
array('i', [1, 2, 3])
En ignorant la valeur de fin, la plage ira à la fin du tableau. L'exemple suivant renvoie les éléments de l'index 2(troisième élément) jusqu'à la fin:
print(tab[2:])
array('i', [3, 4, 5, 6])
Plage d'index négative
Spécifiez des index négatifs si vous souhaitez commencer la recherche à la fin du tableau. L'exemple suivant renvoie les éléments de l'index -3 (inclus) à l'index -1 (exclus):
print(tab[-3:-1])
array('i', [4, 5])
Modifier la valeur d'un élément
Pour modifier la valeur d'un élément spécifique, referez-vous au numéro d'index.