Source : Scratch Wiki en français
Une liste (de fait un tableau par opposition aux listes chaînées) est un structure de données permettant d'associer à un identifiant un ensemble de valeurs indexé et itérable. En Scratch, les listes ne sont pas typées.
Définition
En sciences informatiques, un tableau est une adresse en mémoire visant une séquence de cases mémoires allouée à un programme, dont chaque case est accessible depuis l'identifiant du tableau et un indice de case. Dans la plupart des langages de programmation, il s'agit plus complexe, du fait du typage des données.
L'objet « tableau » peut être vu comme une escalier où sur chaque marche se trouve une valeur liée à l'identifiant du tableau par le numéro de la marche.
Typage
Article principal : Typage
Le typage d'une liste indique la capacité de cette dernière à gérer les différents types d'objets.
Portée
Article principal : Portée
La portée d'une liste limite son environnement de définition.
Tableau en Scratch
Le langage Scratch permet la création et l'utilisation de listes prédéfinies via la catégorie de blocs Scratch Données.
Leur gestion dans un projet se fait dans la catégorie Données de la palette de blocs Scratch.
Créer une liste

Depuis la palette de blocs Scratch, dans la catégorie Données, le bouton « Créer une liste » permet de créer une liste.

Le bouton ouvre une interface pour la création d'une liste. Un nom unique doit être donné, et la portée de la liste doit être choisie.
Renommer une liste

Depuis le menu déroulant du reporteur d'une liste, cette dernière peut être renommée.

Un nouveau nom est demandé. Il n'est pas obligatoire de changer ce dernier.
Supprimer une liste
Depuis le menu déroulant du reporteur d'une liste, cette dernière peut être supprimée.
Si la liste n'est pas utilisée, elle est directement supprimée. Sinon, un avertissement demande confirmation de la suppression de la liste.
Affectations
Trois opérations d'affectation sont possibles, ainsi que deux opérations de suppression.
Ajout d'élément
Le bloc ajouter () à [ v]
::list ajoute un élément à la liste précisée. Si la liste est vide, un élément est créé, sinon, un élément est ajouté à la fin de la liste.
Insertion d'élément
Le bloc insérer () en position () de [ v] ajoute un élément à un indice précis d'une liste. L'élément à cet indice et les éléments d'indices supérieurs voient leurs indices incrémentés.
Modification d'élément
Le bloc remplacer l'élément () de la liste [ v] par () modifie la valeur d'un élément d'indice donné d'une liste.
Suppression d'élément
Le bloc supprimer l'élément () de [ v] retire un élément d'indice donné d'une liste.
Suppression des éléments
Le bloc supprimer tous les éléments de la liste [ v] vide une liste.
Élément
Un élément (en anglais "item") d'une liste est une case contenant une valeur et accessible depuis un indice.
Le bloc élément [i] de [ma liste v] retourne l'élément d'indice i de la liste ma liste.
Recherche
Scratch dispose de deux blocs pour la recherche de valeur dans les éléments :
- le bloc booléen
<[ v] contient [] ?>, qui indique s'il existe au moins une occurrence de la valeur recherchée ; - le bloc reporteur
(position de [] dans [ v]), qui indique l'indice de la première occurrence de la valeur recherchée (ou 0 si la valeur n'est pas trouvée).
Indice
Un indice (en anglais "index") est un identifiant des éléments dans une liste (ou toute autre structure de données séquentielle). On parle parfois de position d'un élément.
Longueur
La longueur d'une liste indique le nombre d'éléments que la liste contient. Si la liste est vide, la longueur est considérée comme nulle.
Le bloc (longueur de [ v]) retourne la longueur d'une liste.
(élément [last] de [ma liste v]) est équivalent à (élément (longueur de [ma liste v]) de [ma liste v]). Représentation concaténée
Le bloc reporteur associé à une liste (liste::list) retourne la concaténation des valeurs d'une liste en tant que chaînes de caractère.
Moniteur
Article principal : Moniteur
Le moniteur d'une liste est un élément affiché sur la scène indiquant notamment le nom, le contenu et la longueur de la liste. Il n’interagit pas avec les différents éléments de la scène.
Contrairement au moniteur d'une variable, le moniteur de liste est - sur petit écran - interactif : l'utilisateur peut modifier des éléments, en supprimer ou en ajouter.
Limitations
Sur Scratch 3.0, la longueur d'une liste est limitée à 200 000 éléments[1]. Toutefois, il n'y pas de limite lors de l'import d'une liste.