> 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/get-element.md).

# Get Element

Ce bloc fonction extrait un seul élément d'une liste fournie (`Batch`) en utilisant une valeur d'index. Il est utile lorsque vous devez sélectionner un élément d'une collection et l'envoyer vers les blocs suivants.

## 📥 Entrées

* `Batch` : Une liste ou un lot de valeurs (images, nombres, textes, etc.) à partir duquel un élément sera extrait.
* `Index` : La position d'index (commençant à zéro) indiquant quel élément retourner depuis le `Batch`.

## 📤 Sorties

* `Generic` : L'élément sélectionné du `Batch`. Le type retourné correspond au type d'élément contenu dans le batch d'entrée.

## 🕹️ Contrôles

Ce bloc fonction n'a pas de widgets interactifs. Il fonctionne en lisant les sockets d'entrée fournis à chaque étape d'évaluation.

## 🎨 Fonctionnalités

* Extraction simple et directe d'un élément d'une liste ou d'un batch.
* Compatible avec n'importe quel type de donnée générique présent dans le batch (images, nombres, chaînes, formes, etc.).
* Conçu pour une intégration facile dans des flux où le traitement d'un seul élément est nécessaire.

## 📝 Instructions d'utilisation

1. Fournissez une liste ou un lot au port `Batch`.
2. Fournissez la position de l'élément (index base zéro) au port `Index`.
3. Le bloc renvoie l'élément à la position demandée sur sa sortie `Generic`.
4. Si le `Batch` a une longueur dynamique, assurez-vous que la valeur `Index` est valide pour éviter des résultats inattendus.

## 📊 Évaluation

À chaque exécution, le bloc lit les valeurs courantes de `Batch` et `Index`, puis transmet l'élément se trouvant à cet index vers la sortie. Si l'index correspond à une seule valeur, un seul élément est retourné ; combiné avec le contrôle de flux par batch, il permet de sélectionner des éléments spécifiques pour un traitement ultérieur.

## 💡 Astuces et Conseils

* Utilisez `Batch Processing` avant ce bloc lorsque vous souhaitez alimenter des données groupées ou en flux et réduire l'utilisation mémoire.
* Combinez avec `Debatch` pour convertir un batch en éléments individuels, puis utilisez `Get Element` pour choisir un élément spécifique dans ce flux.
* Utilisez `Get Batch Size` pour vérifier la longueur du batch avant de sélectionner un index ; cela évite les sélections hors plage.
* Utilisez `Is None` et `Replace None` après ce bloc pour gérer proprement les valeurs manquantes.
* Utilisez `Data Memory` pour geler ou mettre en cache un batch et garder les mêmes données disponibles pendant que vous testez différents index.
* Utilisez `Debug Input` pour inspecter le batch ou l'index lorsque les résultats sont inattendus.
* Lors de la construction de pipelines d'images indexées, combinez avec des blocs de visualisation comme `Show Image` pour prévisualiser l'élément d'image sélectionné.

## 🛠️ Dépannage

* Si vous recevez une sortie vide ou inattendue, vérifiez que le `Batch` contient bien des éléments et que `Index` est dans la plage valide (0..length-1).
* Si le pipeline fournit parfois des valeurs None, utilisez `Is None` ou `Replace None` pour protéger le traitement en aval.
* Pour les flux avec des tailles de batch changeantes, vérifiez toujours `Get Batch Size` avant d'utiliser `Index` afin d'éviter des accès invalides.
