> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/french/function-blocks/blocks-reference/data-logic/data-operations/list-operations.md).

# List Operations

Ce bloc de fonction fournit un ensemble d'opérations courantes sur les listes dans une interface simple à utiliser. Choisissez une opération dans la liste déroulante et le bloc adaptera automatiquement ses entrées et sorties pour que vous puissiez travailler avec des listes (créer, interroger, modifier, combiner, filtrer, etc.) sans écrire de code.

## 📥 Entrées

Les entrées disponibles changent dynamiquement selon l'opération sélectionnée.

`List`\
Une entrée générique de liste utilisée par de nombreuses opérations.

`Element`\
Un élément unique à ajouter, supprimer ou rechercher.

`Index`\
Un index entier pour des opérations comme `Get`, `Set`, `Insert` ou `Pop`.

`List(s)`\
Lorsque vous combinez plusieurs listes (`Pair`), ce socket accepte une liste de listes.

`List (String)`\
Une entrée texte unique utilisée par la méthode `Create` pour construire une liste à partir d'une chaîne séparée par des virgules.

(D'autres sockets d'entrée apparaissent selon la méthode choisie.)

## 📤 Sorties

Les sorties sont elles aussi dynamiques et reflètent la méthode choisie.

`List`\
La liste retournée après une opération de mutation (par ex. `append`, `extend`, `remove`).

`Filtered List`\
Résultat d'une opération de filtrage.

`Element`\
Un élément individuel retourné par `Get`, `Min`, `Max`, etc.

`Size`\
Longueur retournée par la méthode `Len`.

`Index`\
Index d'un élément pour la méthode `Index`.

(D'autres sockets de sortie apparaissent selon la méthode sélectionnée.)

## 🕹️ Contrôles

`Select a method`\
Une liste déroulante avec un petit bouton d'action. Choisissez l'opération de liste souhaitée (exemples : `append`, `extend`, `filter`, `create`, `len`, `min`, `max`, `slice`, `pair`). Le bloc met à jour les sockets automatiquement quand vous changez cette sélection.

`Info`\
Une petite zone de texte qui affiche des conseils d'utilisation pour la méthode sélectionnée (par exemple, rappel que les conditions de filtrage doivent être une liste booléenne de la même longueur).

## 🎨 Fonctionnalités

* Sockets dynamiques : les entrées et sorties sont créées ou supprimées automatiquement selon la méthode choisie, pour garder l'interface claire.
* Large choix d'opérations : création, interrogation, modification et combinaison de listes (append, extend, insert, pop, remove, filter, slice, sort, reverse, sum, min/max, index, set, pair, et plus).
* Validation intégrée : avertit lorsque les index sont hors limites ou lorsque les tailles de listes ne correspondent pas pour des opérations comme `filter` ou `pair`.
* Création depuis du texte : construisez rapidement une liste à partir d'une chaîne séparée par des virgules avec la méthode `Create`.

## ⚙️ Mécanisme d'exécution

1. Choisissez une méthode avec le contrôle `Select a method`.
2. Le bloc met à jour ses sockets d'entrée et de sortie pour correspondre à l'opération choisie.
3. Fournissez les entrées requises en connectant d'autres blocs ou en saisissant des valeurs.
4. Lors de l'exécution du scénario, le bloc réalise l'opération sur la liste et fournit le résultat sur les sockets de sortie indiqués.
5. Si les entrées sont invalides (par ex. tailles incompatibles, index invalide), le bloc affiche un message d'erreur et retourne une valeur de secours sécurisée lorsque c'est approprié.

## 📝 Instructions d'utilisation

1. Ouvrez le bloc et choisissez l'opération souhaitée dans `Select a method`.
2. Lisez le texte `Info` affiché pour obtenir des conseils rapides sur la méthode.
3. Connectez les entrées appropriées (par exemple, connectez une `List` et un `Element` pour `Append`).
4. Exécutez le scénario et récupérez les résultats depuis les sockets de sortie qui apparaissent pour la méthode choisie.

## 💡 Conseils et astuces

`Create`\
Utilisez-le avec un bloc `String Input` pour laisser les utilisateurs saisir des éléments séparés par des virgules, puis convertissez-les automatiquement en liste.

`Filter`` et` Filter Inverse `Pour filtrer des données, générez la liste de conditions avec des blocs logiques comme`Equals`,` Greater`ou`Less\` puis alimentez ce booléen dans ce bloc pour extraire les éléments correspondants.

`Pair`\
Pratique pour combiner des flux de données parallèles. `Pair` fonctionne bien avec des sorties venant d'`Object Detection` ou `Object Detection - Custom` quand vous avez des listes parallèles (par exemple positions et tailles) et souhaitez les zipper pour un enregistrement ou une exportation en aval.

`Get`, `Index`, `Min`, `Max`\
Combinez avec `Get Element`, `Exclude Nones` ou `Replace None` pour nettoyer les entrées avant de requêter ou d'agréger des valeurs de liste.

`Sum`, `Len`\
Utilisez avec `Scope` ou `CSV Export` pour collecter des résumés numériques destinés au tracé ou à la journalisation.

`Slice`\
Lors du traitement de lots d'éléments, combinez avec `Debatch` ou `Batch Processing` pour itérer et traiter des sous-listes.

Général

* Utilisez `Data Memory` lorsque vous souhaitez maintenir une liste inchangée jusqu'à ce qu'une mise à jour explicite arrive.
* Créez des pipelines de journalisation ou d'export : après avoir restructuré des listes ici, envoyez les résultats vers `Data to JSON` ou `CSV Export` pour un stockage externe.
* Lors de la création de listes depuis des sources textuelles, utilisez `Find Substring` et `String Merge` pour préparer les chaînes avant d'utiliser la méthode `Create`.

(Ayez ces blocs liés prêts dans votre espace de travail pour construire des pipelines robustes.)

## 🛠️ Dépannage

`Filter` et incompatibilité de taille\
Si vous voyez une erreur concernant des tailles inégales, assurez-vous que la liste de conditions a le même nombre d'éléments que la liste de données. Utilisez `Get Batch Size` ou `Len` pour diagnostiquer les tailles.

`Index out of range`\
Pour les méthodes qui prennent un index (`Get`, `Set`, `Insert`, `Pop`), vérifiez les bornes d'index avant de connecter. Utilisez `Len` ou `Get Batch Size` pour obtenir des plages valides.

`Unexpected types`\
Certaines opérations attendent des éléments numériques ou comparables (pour `Sum`, `Min`, `Max`, `Sort`). Utilisez `Replace None` et `Exclude Nones` pour nettoyer la liste au préalable.

`Creating lists from text`\
Lors de l'utilisation de `Create`, assurez-vous que les éléments sont séparés par des virgules. Les espaces en trop sont automatiquement supprimés, mais les tokens non numériques restent des chaînes — vérifiez avec `Find Substring` ou `String Operations` si un parsing supplémentaire est nécessaire.

Si vous rencontrez des problèmes persistants, consultez l'astuce `Info` pour la méthode sélectionnée — elle contient souvent des indications rapides et spécifiques.
