Opérations sur les tableaux

Objectifs

  • Savoir utiliser les fonctions de manipulation tableaux ;

  • Savoir retrouver un élément sans son index ;

  • Ajouter/retirer des éléments d'un tableau.

Mise en situation

Nous avons vu comment parcourir différents types de tableaux, mais il y a d'autres opérations intéressantes à réaliser. En effet les tableaux ne sont pas des structures fixes, leur taille et les éléments qui les composent sont susceptibles d'évoluer dans le temps. On dit que les tableaux sont mutables. Il est possible de trier un tableau, rechercher un élément précis, ou y ajouter des éléments. Pour réaliser ces opérations, la plupart des langages proposent des fonctions clé en main, que nous allons étudier.

SyntaxeTrier un tableau

En Python et en JavaScript :

  • la fonction sort() applique un tri par défaut à un tableau (croissant),

  • reverse() inverse l'ordre des éléments.

Attention

En JavaScript, sort() trie les nombres dans l'ordre « alphabétique » et non pas numérique : 11 est devant 7 car le premier caractère 1 vient avant 7.

Exemple

1
"""Python."""
2
names = ['Maria', 'Tarek', 'Anaïs', 'Benjamin']
3
notes = [12, 7, 18, 14]
4
5
# modifie les listes
6
names.sort() # ['Anaïs', 'Benjamin', 'Maria', 'Tarek']
7
notes.sort() # [7, 12, 14, 18]
8
notes.reverse() # [18, 144, 12, 7]
9
10
print('Participants:', names)
11
print('Notes:', notes)
1
/** JavaScript */
2
const names = ['Maria', 'Tarek', 'Anaïs', 'Benjamin']
3
const notes = [12, 7, 18, 14]
4
5
names.sort() // ['Anaïs', 'Benjamin', 'Maria', 'Tarek']
6
notes.sort() // [12, 14, 18, 7]
7
notes.reverse() // [7, 18, 14, 12]
8
9
console.log('Participants:', names)
10
console.log('Notes:', notes)

SyntaxeAjouter et retirer un élément

En Python, append() permet d'ajouter un élément à la fin et pop() retire le dernier élément.

En JavaScript, on ajoute à la fin avec push() et on retire le dernier avec pop().

Exemple

1
"""Python."""
2
travel_plan = ['Paris', 'Berlin', 'Osaka', 'Busan']
3
print('Escales prévues:', travel_plan)
4
5
travel_plan.append('Pekin') # ['Paris', 'Berlin', 'Osaka', 'Busan', 'Pekin']
6
print('Nouvelle destination:', travel_plan)
7
8
travel_plan.pop() # ['Paris', 'Berlin', 'Osaka', 'Busan']
9
print('Annulation:', travel_plan)
1
/** JavaScript */
2
const travelPlan = ['Paris', 'Berlin', 'Osaka', 'Busan']
3
console.log('Escales prévues:', travelPlan)
4
5
travelPlan.push('Pekin') // ['Paris', 'Berlin', 'Osaka', 'Busan', 'Pekin']
6
console.log('Nouvelle destination:', travelPlan)
7
8
travelPlan.pop() // ['Paris', 'Berlin', 'Osaka', 'Busan']
9
console.log('Annulation:', travelPlan)

SyntaxeRechercher un élément

On peut retrouver l'index d'un élément donné dans un tableau.

En Python, la fonction index() retourne l'index du premier élément correspondant à la recherche.

En JavaScript, la fonction indexOf() fait la même chose.

Exemple

1
"""Python."""
2
months = ['Janv', 'Fev', 'Mars', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sept', 'Nov', 'Dec' ]
3
4
index = months.index('Août') # retourne 7
5
print('Août est le', index + 1, 'e mois de l\'année')
1
/** JavaScript */
2
const months = ['Janv', 'Fev', 'Mars', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sept', 'Nov', 'Dec']
3
4
const index = months.indexOf('Août') // retourne 7
5
console.log('Août est le', index + 1, 'e mois de l\'année')

ComplémentDocumentation

De nombreuses autres fonctions existent et sont documentées ici :

À retenir

Les tableaux sont des structures mutables : des fonctions propres à chaque langage permettent d'y appliquer un grand nombre d'opérations pour manipuler ses éléments.

Stéphane Crozat, Jinane Ben Salem Paternité - Partage des Conditions Initiales à l'Identique