# Travailler avec des tableaux et des dictionnaires

**Tableau** — est une structure de données qui stocke une collection de valeurs (appelées éléments du tableau), chacune identifiée par un indice. Elle est définie à l’aide de crochets \[]. Par exemple, l’instruction q = \[] signifie que la variable q contient un tableau vide. Si q = \[2, 5, 7, 4, 9], alors le tableau contient 5 éléments — c’est sa longueur. Les indices des éléments, qui représentent leurs positions dans le tableau, commencent à 0. Ainsi, l’indice de l’élément « 2 » est 0, et l’indice de l’élément « 4 » dans notre tableau est 3.

<figure><img src="/files/5c5c0b1757bdcdf1fb2e6db08ed9871e3858ef4c" alt=""><figcaption></figcaption></figure>

**Exemple :** array=\[1,2,3,4] ou array1=\["mother","father","son","daughter"]

**Un exemple d’accès à un élément de tableau :** array\[1] (renvoie la valeur 2)

**Dictionnaire** — est une structure de données qui représente un ensemble d’éléments spécialement organisé pour stocker des données. Toutes les données sont stockées sous forme de paires clé-valeur. L’accès aux éléments de données se fait à l’aide de la clé. Une clé doit toujours être unique au sein d’un même dictionnaire, tandis que les données (valeurs) peuvent être dupliquées si nécessaire.

**Exemple :** {"SLU":12345,"Name":"Men's t-shirt, white","Size":50,"Price":1000}

**Un exemple d’accès à un élément de tableau :** dictionary\["Array"] (renvoie la valeur 12345)

Les tableaux et les dictionnaires peuvent tous deux avoir des structures complexes ou imbriquées — c’est-à-dire qu’ils peuvent contenir l’un l’autre. Par exemple :

un tableau de dictionnaires : products=\[{"SKU":12345,"Name":"Men's t-shirt, white","Size":50,"Price":1000},{"SKU":12346,"Name":"Men's t-shirt, white","Size":52,"Price":1000}]

&#x20;L’expression `s = {}` signifie que la variable s contient un dictionnaire qui ne comporte aucun élément. On peut y placer une paire clé-valeur, ou même plusieurs : `s = {"key1":"value1", "key2":"value2","key3":"value3"}` Chaque clé et chaque valeur sont placées entre guillemets, deux-points sont placés entre la clé et la valeur, et les paires clé-valeur sont séparées par des virgules.

Les tableaux et les dictionnaires peuvent être imbriqués. Regardons un exemple :

`rainbow = [red, orange, yellow, green, light blue, blue, purple]` - ceci est un tableau.

Si nous écrivons&#x20;

rainbow = {"every":"red","hunter":"orange","wants":" yellow","know":"green","where":"light blue","sits":"blue","pheasant":"purple"}

\- nous obtenons un dictionnaire

Si nous regardons de plus près l’arc-en-ciel, nous pouvons voir, par exemple, que la couleur bleu clair est plus complexe et se compose de turquoise, bleu clair et bleu foncé. Écrivons : `light blue = [turquoise,light blue, dark blue]`. Maintenant, intégrons notre tableau « blue » dans le dictionnaire « rainbow » :

rainbow = {"first\_color":"<mark style="background-color:yellow;">red</mark>","<mark style="background-color:blue;">second\_color</mark>":"<mark style="background-color:yellow;">orange</mark>","<mark style="background-color:blue;">third\_color</mark>":"<mark style="background-color:yellow;">yellow</mark>","<mark style="background-color:blue;">forth\_color</mark>":"<mark style="background-color:yellow;">green</mark>","<mark style="background-color:blue;">sixth\_color</mark>":"<mark style="background-color:yellow;">blue</mark>","<mark style="background-color:blue;">last\_color</mark>":"<mark style="background-color:yellow;">purple</mark>"}

Alors, comment spécifier l’adresse d’un élément, par exemple « turquoise » ?&#x20;

Et dans les tableaux, l’adressage se fait par <mark style="background-color:yellow;">**indice**</mark>, donc l’adresse de l’élément "turquoise" est 0.

&#x20;Récapitulons : **\["where"]\[0]** - est l’adresse de l’élément "turquoise".

<div data-with-frame="true"><figure><img src="/files/51722e7595d6cacb02f2464d3badc61410d12580" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/d9b6370fadb826e577bfd0748de18b42fb9be381" alt="" width="375"><figcaption></figcaption></figure></div>

## Comment travailler avec l’adressage (JSON)

Lors de la réception de réponses de services tiers via une API, nous obtenons le plus souvent du JSON, qui représente un dictionnaire. Très souvent, nous devons stocker une valeur spécifique de ce dictionnaire dans une variable.

La meilleure façon de comprendre le principe de l’adressage en JSON est à travers un exemple :<mark style="background-color:green;">{</mark><mark style="background-color:orange;">"suggestions"</mark>: <mark style="background-color:red;">\[{"value": "Dirham", "unrestricted\_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "UAE"}}]</mark><mark style="background-color:green;">}</mark>&#x20;

Ici, nous avons un dictionnaire contenant une seule paire clé-valeur **suggestions** - la clé du tableau : `[{"value": "Dirham", "unrestricted_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "UAE"}}]`

La valeur de la **suggestions** clé est un tableau avec un seul élément — un dictionnaire :  `{"value": "Dirham", "unrestricted_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "UAE"}}` **suggestions|0** - est la clé du premier (et unique) élément du tableau.`{"value": "Dirham", "unrestricted_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "UAE"}}`

**suggestions|0|value** - est la clé de la valeur "Belarusian ruble"

{"suggestions": \[{"<mark style="background-color:orange;">value</mark>": "Dirham", "unrestricted\_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "UAE"}}]}

Le chemin de clé le plus long dans ce JSON est : **suggestions|0|data|strcode** - est la clé pour AED

<div data-with-frame="true"><figure><img src="/files/6871da72ac53534f56f701ae769182578e50b931" alt="" width="563"><figcaption></figcaption></figure></div>

{"suggestions": \[{"value": "Dirham", "unrestricted\_value": "Dirham", "data": {"code": "784", "<mark style="background-color:orange;">strcode</mark>": "<mark style="background-color:red;">AED</mark>", "name": "Dirham", "country": "UAE"}}]}

Les clés sont séparées par une barre verticale. Si le JSON contient un tableau, l’accès à ses éléments se fait par indice, en commençant à 0, et s’écrit également à l’aide d’une barre verticale. L’indexation des tableaux commence à 0.

Dans l’adressage, les nombres sont traités de la même manière que les chaînes, et inversement. Par exemple, '6' et 6 sont considérés comme égaux.

En plus des réponses d’API, les tableaux et les dictionnaires peuvent aussi être utilisés pour stocker des données de manière pratique.

Par exemple, si vous devez restreindre l’accès à une section spécifique d’un bot à certains utilisateurs, vous pouvez stocker leurs identifiants dans un tableau, le placer dans une variable globale du projet et l’utiliser dans les conditions de blocs ou la logique des flèches pour vérifier si l’identifiant de l’utilisateur est inclus dans le tableau.

Un autre exemple est lorsque vous devez stocker le nombre de points de chaque joueur dans un jeu d’équipe. Vous pouvez utiliser un dictionnaire pour cela, où les clés sont les identifiants des utilisateurs et les valeurs sont leurs points.

Parfois, il est nécessaire de modifier un tableau ou un dictionnaire. Les fonctions décrites dans cet article sont précisément conçues à cet effet. La plupart des méthodes décrites ci-dessous fonctionnent à la fois avec les tableaux et les dictionnaires.

## Travailler avec les tableaux

### Comment créer un tableau

Création d’un tableau - déclaration d’un tableau

**array\_name = \[]**

### Comment vider un tableau

Vider un tableau revient essentiellement à déclarer un tableau vide :

**array\_name = \[]**

### Comment accéder à un élément d’un tableau

<details>

<summary>Description</summary>

**name\[index] -** accès à un élément de tableau par indice ou par valeur

</details>

<details>

<summary>Exemple</summary>

Voyons quelques exemples de travail avec des tableaux :

**Exemple d’accès à un élément de tableau par son indice :**

<div data-with-frame="true"><figure><img src="/files/ec2043a59b7b8022147716684f49a08d5475a3a1" alt="" width="563"><figcaption></figcaption></figure></div>

#### Exemple d’obtention du dernier élément du tableau :

<div data-with-frame="true"><figure><img src="/files/a80cc87b06c57cd3c9517e9b28bf0ba6f0f55452" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
/*Accès par indice*/
arrayI = [1, "2", 3, 4, 5]
k=arrayI[3]
/*Accès par indice à partir d’un tableau imbriqué*/
arrayV = [[1, "2", 4, 5], "2", 3, 4, 5]
v=arrayV[0][1]

/*Exemple d’obtention du dernier élément*/
array = [1, "2", 3, 4, 5]
/*Obtention du dernier élément du tableau*/
last = array[-1]
```

</details>

### Comment remplacer une valeur dans un tableau

<details>

<summary>Description</summary>

**name\[index] =** **value** - remplacement d’un élément de tableau par un indice donné

</details>

<details>

<summary>Exemple</summary>

**Exemple :**

Pour remplacer la valeur d’un élément spécifique du tableau, utilisez la syntaxe suivante : *array\_name\[index] = value*

<div data-with-frame="true"><figure><img src="/files/83bdcbdf0cbe94c6f7da91ffa753524c585307e0" alt="" width="563"><figcaption></figcaption></figure></div>

Réponse :

<div data-with-frame="true"><figure><img src="/files/b6efa49c2ee66d53d9e4b25c68a9d355e7c3c4df" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
array = [1, "2", 3, 4, 5]

/*Remplacement dans un tableau\dictionnaire*/
array[2] = 888

/*Ajouter dans le dictionnaire   dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=new

/*Remplacement dans un tableau\dictionnaire par un nombre*/
array[3] = int('888')
dicts['a'] = int('555')
```

</details>

### Comment vérifier si un élément est dans un tableau

<details>

<summary>Description</summary>

**in\_array(mass, value)** - pour vérifier si un élément existe dans un tableau.

**Paramètres :** \ <mark style="color:red;">!</mark> **mass -** tableau \ <mark style="color:red;">!</mark> **value -** valeur à rechercher

Renvoie True ou False selon que la valeur est trouvée ou non.

</details>

<details>

<summary>Exemple</summary>

Exemple :

<div data-with-frame="true"><figure><img src="/files/9cdaaa588f264c617e4858b010cc81849a3a10c1" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
s = ["Mike", "Peter", "Helen"] 
q = if(in_array(s, 'Ann'), 'Found', 'Another string')
```

</details>

### Comment connaître la longueur d’un tableau

<details>

<summary>Description</summary>

**arr\_len(mass)** - pour connaître la longueur du tableau

Paramètre :\ <mark style="color:red;">!</mark> **mass -**  *tableau*&#x20;

Résultat : renvoie un nombre - la longueur du tableau.

{% hint style="warning" %}
Attention lorsque vous passez des paramètres à la fonction ! Si elle est appelée sans paramètres, elle renvoie 0 ; si le paramètre n’est ni un tableau ni un dictionnaire, elle renvoie -1.
{% endhint %}

</details>

<details>

<summary>Exemple</summary>

Exemple d’utilisation :

<div data-with-frame="true"><figure><img src="/files/9f986d913bd334d42ff1a7d3bed39be0ab398a73" alt=""><figcaption></figcaption></figure></div>

Résultat :

<div data-with-frame="true"><figure><img src="/files/0ce77e4283d21f57de133f8b2dea6c7d42c574f3" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
s = ["Mike", "Peter", "Helen"] 
q = if(arr_len(s) > 5, 'Le groupe est complet', 'Rejoignez notre équipe !')
```

</details>

### Comment insérer un élément à la fin d’un tableau ?

<details>

<summary>Description</summary>

**append(mass, element, priznak)** - pour insérer un élément à la fin d’un tableau.&#x20;

Paramètres :

<mark style="color:red;">!</mark> **mass -** tableau\ <mark style="color:red;">!</mark> **element -** élément à insérer\
**priznak** - indicateur précisant s’il s’agit d’un tableau ou d’un dictionnaire

Renvoie le tableau avec la valeur ajoutée à la fin. Pour mettre à jour le tableau d’origine, utilisez l’affectation : **mass = append(mass, element, priznak)**&#x20;

{% hint style="warning" %}
&#x20;Par défaut, les données sont insérées sous forme de chaînes. **Si vous devez insérer un tableau ou un dictionnaire, passez un paramètre supplémentaire True**. Cela indique que vous insérez du JSON.
{% endhint %}

</details>

<details>

<summary>Exemple</summary>

Exemple d’utilisation :

<div data-with-frame="true"><figure><img src="/files/202e60ef3f0a28e3862b66c44bd002bc388f5796" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/809d19b17f5a9fe9f4bdf51f3e3e7be6b1d71a48" alt="" width="375"><figcaption></figcaption></figure></div>

Exemple d’ajout et de suppression dans un tableau :

<div data-with-frame="true"><figure><img src="/files/f2443ae9e4569e903052db4fb9ad48c4cc5549ef" alt="" width="563"><figcaption><p>Dans cet exemple, un élément est ajouté au tableau project.vibpzdr, et la valeur <code>p</code> est supprimée du tableau project.pzdr</p></figcaption></figure></div>

Exemple de création d’un tableau contenant des tableaux :

<div data-with-frame="true"><figure><img src="/files/a657b3e497bd95e844354e5bde3b28ba2757bd02" alt="" width="563"><figcaption></figcaption></figure></div>

Le résultat de l’exécution de la fonction :

<div data-with-frame="true"><figure><img src="/files/24b9c5460f9540d09d38e75e8faa19bd7aea7268" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
s = ["Mike", "Peter", "Helen"]
q = append(s, 'Max')
```

</details>

### Comment insérer une valeur à une position spécifique dans un tableau

<details>

<summary>Description</summary>

**insert(mass, index, value, priznak)** - pour insérer un élément à une position spécifique du tableau.

Paramètres : \ <mark style="color:red;">!</mark> **mass -** tableau\ <mark style="color:red;">!</mark> **index -** position d’insertion\ <mark style="color:red;">!</mark> **value -** value\
**indicateur** - indicateur d’ajout à un tableau ou à un dictionnaire.

Résultat :\
Renvoie un tableau avec la valeur ajoutée à la position spécifiée. En d’autres termes, pour ajouter la valeur au même tableau, utilisez la commande sous la forme suivante :  **mass = insert(mass, index, value, indicator)**&#x20;

{% hint style="warning" %}
Par défaut, les données sont insérées sous forme de chaînes. **Si vous devez insérer un tableau ou un dictionnaire, passez un paramètre supplémentaire True**. Cela indique que vous insérez du JSON..
{% endhint %}

</details>

<details>

<summary>Exemple</summary>

Exemple :

<div data-with-frame="true"><figure><img src="/files/64377267a1a893acb36d906998b8c145d55bf163" alt="" width="563"><figcaption></figcaption></figure></div>

Résultat :

Regardons un exemple plus complexe - ajouter un dictionnaire t à un tableau s :

<figure><img src="/files/5315359b8186d59041cb9fb02bc4921ab0be59dd" alt=""><figcaption></figcaption></figure>

Dans la fonction, nous avons indiqué que nous voulions ajouter un dictionnaire à la position 1. Regardons le résultat :

<figure><img src="/files/cbf2853b0593a82984f24a2b2eb5e3aed340ca3c" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
s = ["Mike", "Peter", "Helen"]
q = insert(s, 1, 'Max')
```

</details>

### Comment supprimer un élément d’un tableau

del() | del | remove()

<details>

<summary>Description</summary>

<mark style="background-color:blue;">**Par indice**</mark>

**del(mass, key)** - supprime un élément du tableau par son indice.&#x20;

Paramètres : \ <mark style="color:red;">!</mark> **mass -** nom du tableau ;\ <mark style="color:red;">!</mark> **key -** l’indice de la valeur à supprimer

Renvoie un nouveau tableau avec l’élément supprimé ; le tableau d’origine reste inchangé. Pour supprimer et mettre à jour le même tableau, utilisez la commande comme suit : \
**mass = del(mass, key)**

{% hint style="warning" %}
Si votre tableau contient des nombres et que vous souhaitez supprimer un élément par sa valeur, utilisez la fonction remove().&#x20;
{% endhint %}

**del name\['index']** - suppression d’une valeur d’un tableau par indice

Paramètres : \ <mark style="color:red;">!</mark> **name-** nom du tableau ;\ <mark style="color:red;">!</mark> **index-** l’indice de la valeur à supprimer

<mark style="background-color:blue;">Par valeur</mark>

**remove(mass, value)** - pour supprimer une valeur d’un *tableau*.&#x20;

Paramètres : \ <mark style="color:red;">!</mark> **mass -** nom du tableau ; \ <mark style="color:red;">!</mark> **value -** la valeur à supprimer du tableau

Résultat :\
Renvoie un tableau modifié, en laissant le tableau d’origine inchangé. Pour supprimer un élément et mettre à jour le même tableau, utilisez la commande sous la forme suivante :\
**mass = remove(mass, key)**

</details>

<details>

<summary>Exemples</summary>

Exemple de suppression d’un élément par indice :

<div data-with-frame="true"><figure><img src="/files/6679866548073a21b1742787edb11de3b3150330" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/d269c0d830df632350583eada373a338b10d4050" alt="" width="375"><figcaption></figcaption></figure></div>

Exemple de suppression d’un élément de tableau par sa valeur :

<div data-with-frame="true"><figure><img src="/files/1b6b167471569f1396f0ddcc9e42762e44b09273" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/90a416c4ee10f6f42f3aeacbdfbee3e5f8f6803d" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
/*Suppression d’un élément de tableau par son indice :*/
array = ["1",2, 3, "4"]
del array['1']

array1 = ["1",2, 3, "4"]
array1=del(array1,0)


/*Suppression d’un élément de tableau par sa valeur :*/
array = ["1",2, 3, "4"]
array=remove(array, '4') 

array1 = ["1",2, 3, "4"]
array1=remove(array1, 2) 
```

</details>

### Comment obtenir la position d’un élément dans un tableau

<details>

<summary>Description</summary>

**index(mass, value)**

Paramètres : \ <mark style="color:red;">**!**</mark> **mass -** nom du tableau \ <mark style="color:red;">**!**</mark>**&#x20;value -** la valeur dont il faut déterminer la position.

Si l’élément n’est pas dans le tableau, la fonction renverra -1.

</details>

<details>

<summary>Exemples</summary>

Exemple de détermination de la position d’un élément dans un tableau :

<div data-with-frame="true"><figure><img src="/files/de467e5afa0ca3ce18340c3cb18817fcb031bea8" alt="" width="563"><figcaption></figcaption></figure></div>

Regardons de plus près le résultat en détail :

<div data-with-frame="true"><figure><img src="/files/b68b3b3b3fce0a603f257ca7d2fb2ce5253662ea" alt="" width="375"><figcaption></figcaption></figure></div>

Comme nous pouvons le voir, puisque le nombre 5 n’est pas dans le tableau, la fonction a renvoyé -1.

</details>

<details>

<summary>Exemple de code à copier</summary>

```
array = ["1",2, 3, "4"]
search1=index(array,"1")
search2=index(array,5)
```

</details>

### Comment convertir un tableau en texte lisible par l’humain

<details>

<summary>Description</summary>

**massive\_to\_text(massive, header, numbered,delimiter1,delimiter2)**

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;massive** – le tableau à afficher,\
**header** – un titre qui apparaîtra au début de la sortie\
**numbered** – si une valeur est transmise, les éléments du tableau seront numérotés\
**delimiter1** – le caractère placé à la fin de chaque ligne d’élément (la valeur par défaut est « ; »),\
**delimiter2** – le caractère utilisé après le numéro d’élément lorsque la numérotation est activée (la valeur par défaut est « ) »)

</details>

<details>

<summary>Exemples</summary>

Exemple simple :

En conséquence, le tableau sera affiché sous forme de liste numérotée :

<div data-with-frame="true"><figure><img src="/files/a7e51b3536fc38006174c5fe10d3c91f56c93409" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
Array1 = [1, 2, 3, "a", "b", "c"] 
text = array_to_text(Array1, 'title', 1) 
```

</details>

### Comment exclure un tableau d’un autre

<details>

<summary>Description</summary>

**except\_arr(mas1, mas2)**&#x20;

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;mas1** - le tableau dont les éléments seront exclus,\ <mark style="color:red;">**!**</mark>**&#x20;mas2** - le tableau contenant les éléments à exclure

</details>

<details>

<summary>Exemples</summary>

Regardons l’exemple :

<div data-with-frame="true"><figure><img src="/files/01f2977d8915f168675196bc223dd641d335d28a" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/65ac24b5d540187881f2fd999a3b452e2867061b" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
s1 = [1, 2, 3]
s2 = [2, 3]
s3 = except_arr(s1, s2)
```

</details>

### Comment trouver l’intersection des tableaux

<details>

<summary>Description</summary>

**cross\_arr(mas1, mas2)**

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;mas1** - le tableau dans lequel rechercher\ <mark style="color:red;">**!**</mark>**&#x20;mas2** - le tableau contenant les éléments à rechercher

</details>

<details>

<summary>Exemples</summary>

<div data-with-frame="true"><figure><img src="/files/55245a9473330b42a72052be02e8caf23ac0d345" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/4a4379218886ec71cdfc2bdbfaa0e6b3a9547e8c" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
s1 = [1, 2, 3]
s2 = [2, 3]
s3 = cross_arr(s1, s2)

mas1 = ["didn't", "except,", "that", "everything", "is", "so", "simple.", "thanks"]
mas2 = ["everything", "thanks"]
mas3 = cross_arr(mas1, mas2)
```

</details>

### **Comment fusionner des tableaux**

<details>

<summary>Description</summary>

Il n’existe pas de fonction intégrée spécialement destinée à fusionner des tableaux, mais cela peut se faire facilement :

Pour combiner des tableaux, effectuez une concaténation de chaînes, puis remplacez ']\[' par une virgule ','

</details>

<details>

<summary>Exemples</summary>

Ceci est un exemple dans le champ Calculator

<div data-with-frame="true"><figure><img src="/files/bed545eacaa8c27b8fc0d04fced624c57727f994" alt="" width="563"><figcaption></figcaption></figure></div>

Voici un exemple d’un bot en fonctionnement

<div data-with-frame="true"><figure><img src="/files/00cc5fb4635958919d831c7131eea66d7aca1730" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
a = [1,2,3,4] 
b = [5,6,7] 
sum = a + b 
answer = replace(sum, '][', ',') 
```

</details>

### Comment additionner les éléments d’un tableau

<details>

<summary>Description</summary>

**sum\_array(array)**

**Paramètres :**

**tableau** - le tableau dont les éléments doivent être additionnés

{% hint style="warning" %} <mark style="color:red;">**Attention !**</mark>**&#x20;La fonction fonctionne avec des tableaux d’un format spécifique.**

Formats acceptés : - \[1,2,3,4] ou ‘\[1,2,3,4]’. \
Si le tableau contient des nombres représentés sous forme de chaînes, ils doivent être placés entre guillemets doubles — par exemple, \[1,2,3,”-4”].  \
Si le tableau contient des chaînes alphabétiques, le calcul échouera.

Exemple d’utilisation incorrecte :\
mas = \[1,2,3,"a"] \
result = sum\_array(mas)

Cela entraînera une erreur : **le tableau contient des éléments non pris en charge**
{% endhint %}

</details>

<details>

<summary>Exemples</summary>

<div data-with-frame="true"><figure><img src="/files/fa6aa837ad7a5b5d904105b4e24fd3c8b8fc2a03" alt="" width="563"><figcaption></figcaption></figure></div>

Résultat :

<div data-with-frame="true"><figure><img src="/files/c915ebc8b3d40a33801329064662ae2c8eee53bf" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/3c7b2aae8514bb44207694df467dfc99c1781d13" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
mas = [1,2,3,4] 
result = sum_array(mas) 
```

</details>

### Comment mélanger les éléments d’un tableau

<details>

<summary>Description</summary>

**shuffle\_massive(massive**

Paramètres :

**massive** - le tableau dont les éléments doivent être mélangés.

</details>

<details>

<summary>Exemples</summary>

<div data-with-frame="true"><figure><img src="/files/4316316de4ffdef37d5875116c5f204c02f0c397" alt="" width="563"><figcaption></figcaption></figure></div>

Résultat de l’exécution de la fonction :

<div data-with-frame="true"><figure><img src="/files/02a1e6ef0342e78b9e933cfdcdb01ca59d892635" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
Massive1 = [1, 2, 3, "a", "b", "c"]
Massive2 = shuffle_massive(Massive1) 
```

</details>

### Pour trier les tableaux et les dictionnaires&#x20;

sort() | sort\_by\_value()

<details>

<summary>Description</summary>

<mark style="background-color:blue;">**Tri dans un tableau ou un dictionnaire**</mark>&#x20;

**sort(mass, b)** - trie un tableau par valeur, et un dictionnaire par clé

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;mass** - tableau/dictionnaire\
**b** - ordre de tri (False – croissant (par défaut), True – décroissant)

<mark style="background-color:blue;">**Tri d’un dictionnaire par sa valeur**</mark>

**sort\_by\_value(dict, b) -** trie un dictionnaire par valeurs.

Paramètres :\ <mark style="color:red;">**!**</mark>**&#x20;dict**- dictionnaire\
**b** - ordre de tri (False – croissant (par défaut), True – décroissant)

</details>

<details>

<summary>Exemple</summary>

Exemple de tri d’un tableau par ordre décroissant et d’un dictionnaire par ordre croissant :

<div data-with-frame="true"><figure><img src="/files/ebf24bd1ab8ef96b6453bb3a4c261929eadcb86a" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/3303e3b87352c49ed598eb7c00781a8b10a15386" alt="" width="375"><figcaption><p>résultat du tri</p></figcaption></figure></div>

Tri d’un dictionnaire par valeurs :

<figure><img src="/files/da7e298e2abbf97b3699974b33fbfe45f487bff2" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/0d6f6d4dadf563de10e854c49bdd70aa188aed1a" alt="" width="375"><figcaption><p>résultat du tri</p></figcaption></figure>

</details>

### Conversion d’un tableau/dictionnaire en boutons

**tools\_make\_button\_str\_checker() | tools\_check\_user\_input()**

<details>

<summary>Description</summary>

<mark style="background-color:blue;">**Conversion d’un tableau/dictionnaire en boutons**</mark>

tools\_make\_button\_str\_checker(values\_list, key, in\_line, button\_type, checker\_with\_numbers)

Paramètres :

<mark style="color:red;">**!**</mark> values\_list - un tableau de chaînes ou de dictionnaires dont les données seront utilisées pour construire un clavier ou une liste numérotée

key - la clé selon laquelle la sélection sera faite à partir d’un tableau de dictionnaires

in\_line - nombre de boutons par ligne (par défaut : 1)

button\_type - type de boutons (par défaut : clavier de réponse). \
Valeurs possibles :\
0 - clavier de réponse,\
1 - clavier en ligne (boutons dans le texte)

checker\_with\_numbers - indique s’il faut ajouter les numéros des boutons au tableau « checker ». \
Valeurs possibles :\
0 - ne pas ajouter de numéros, \
1 - ajouter des numéros (par défaut : 1 – ajouter des numéros)

Résultat de la fonction — un dictionnaire de la forme :

{"**numbered\_list**":"1. T-shirts\n2. Shorts\n3. Socks\n4. Caps\n","**buttons**":\[{"type":"inline","text":"T-shirts","line":0,"index\_in\_line":0},{"type":"inline","text":"Shorts","line":0,"index\_in\_line":1},{"type":"inline","text":"Socks","line":1,"index\_in\_line":0},{"type":"inline","text":"Caps","line":1,"index\_in\_line":1}],"**checker**":"T-shirts;1;Shorts;2;Socks;3;Caps;4;"}

Les valeurs du dictionnaire peuvent ensuite être insérées dans des champs du constructeur :

<div data-with-frame="true"><figure><img src="/files/731cabf66928c61c5268c03af815b11543a776f4" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/0dfdecf8d30ae3053488f12d54f34eb1471c5903" alt="" width="375"><figcaption></figcaption></figure></div>

<mark style="background-color:blue;">**Obtenir une valeur de dictionnaire en fonction de la sélection du client**</mark>&#x20;

**tools\_check\_user\_input(values\_list, user\_input, key, return\_key)**&#x20;

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;values\_list** - un tableau de chaînes ou de dictionnaires dont les données seront utilisées pour construire un clavier ou une liste numérotée\ <mark style="color:green;">Exemple de dictionnaire :</mark> \[{"text":"T-shirts","price":100},{"text":"Shorts","price":150},{"text":"Socks","price":20},{"text":"Caps","price":50}]\ <mark style="color:red;">**!**</mark>**&#x20;user\_input** - la valeur saisie par l’utilisateur parmi l’une des valeurs de values\_list\ <mark style="color:green;">Exemple de valeur :</mark> Caps\
**key** - la clé utilisée pour la sélection dans le tableau values\_list de dictionnaires\ <mark style="color:green;">Exemple de clé :</mark> text\
**return\_key** - la valeur renvoyée pour la clé spécifiée depuis values\_list\ <mark style="color:green;">Exemple de valeur renvoyée :</mark> price

</details>

<details>

<summary>Exemple</summary>

Décomposons l’utilisation de la fonction avec un exemple de panier d’achat :

1.Définissez un tableau et convertissez-le en liste numérotée, en boutons et en liste de valeurs possibles (pour les messageries sans boutons) à l’aide de la fonction tools\_make\_button\_str\_checker().

<div data-with-frame="true"><figure><img src="/files/8cc8f207e7e2dd2a3c94bc7627982b03001bf72a" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/2d565ca0a5cf1132923e8249c4697c0404dc7550" alt="" width="375"><figcaption><p>Résultat de l’utilisation de la fonction <strong>tools_make_button_str_checker()</strong> fonction</p></figcaption></figure></div>

2.Utilisez les valeurs obtenues pour buttons et numbered\_list afin de permettre la sélection d’un produit :

<div data-with-frame="true"><figure><img src="/files/dc1afa81aeb350a188d209dd875dcec93e9b29c2" alt=""><figcaption></figcaption></figure></div>

3.Utilisez la liste de contrôle des valeurs possibles pour valider la saisie du client :

<div data-with-frame="true"><figure><img src="/files/e63361a65df5dad9e136f206f357cbb78ec6ad3f" alt="" width="563"><figcaption></figcaption></figure></div>

4.Enfin, affichez le prix du produit sélectionné au client. C’est pratique à faire à l’aide de la fonction tools\_check\_user\_input()

<div data-with-frame="true"><figure><img src="/files/5e33f5d7c79b322da6a90bde0f41341e6158d183" alt=""><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
list = [{"text":"T-shirts","price":100},{"text":"Shorts","price":150},{"text":"Socks","price":20},{"text":"Caps","price":50}]
res = tools_make_button_str_checker(list, "text", "2", "1")
numbered_list = res['numbered_list']
buttons = res['buttons']
checker = res['checker']

res_check = tools_check_user_input(list, user_input, 'text', 'price')
```

</details>

### Sélection de données à partir d’un tableau

<details>

<summary>Description</summary>

**array\_slice(array, start\_index, end\_index)**&#x20;

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;tableau** - tableau \ <mark style="color:red;">**!**</mark>**&#x20;start\_index** - début de la tranche \
**end\_index** - fin de la tranche (par défaut : jusqu’à la fin)

</details>

<details>

<summary>Exemple</summary>

Sélectionnons un sous-tableau à partir du 1er élément :

<div data-with-frame="true"><figure><img src="/files/757e1e80d6b26fd5d51c8e5f64fd5841b4be3dcb" alt="" width="563"><figcaption><p>Exemple d’utilisation de array_slice()</p></figcaption></figure></div>

&#x20;res will be \["Shorts", "Socks", "Caps"]&#x20;

Autre exemple de sélection d’un sous-tableau du 0e au 2e élément du tableau :

<div data-with-frame="true"><figure><img src="/files/9bcca69f25c5e20a534e44ae160db44093365abb" alt="" width="563"><figcaption><p>Exemple d’utilisation de array_slice()</p></figcaption></figure></div>

&#x20;res will be \["T-shirts", "Shorts"]

</details>

<details>

<summary>Exemple de code à copier</summary>

```
list = ["T-shirts", "Shorts", "Socks", "Caps"] 
res = array_slice(list, 1)

res = array_slice(list, 0, 2)
```

</details>

### Déballage des éléments du tableau

<details>

<summary>Fonction</summary>

unpack\_list(array, var\_name) - cette méthode parcourt un tableau et crée une variable distincte pour chaque élément du tableau avec des noms comme var1, var2, var3, etc.&#x20;

<mark style="color:red;">**!**</mark> array - paramètre obligatoire, un tableau d’éléments

var\_name - paramètre facultatif, une chaîne. Si elle est fournie, elle est utilisée pour nommer les éléments déballés. Exemples :

Si var\_name est fourni, les noms des variables sont formés à partir de var\_name

var\_name doit respecter les règles de nommage des variables.

</details>

<details>

<summary>Exemple</summary>

**Exemple 1 :**

`array1 = ["one", "two", "three"]`

`ans1 = unpack_list(array1)`

**Résultat** - variables deal créées :

`var1 = 'one'`

`var2 = 'two'`

`var3 = 'three'`

**Exemple 2 :**

`array2 = ["one", "two", "three"]`

`var_name = 'custom'`

`ans2 = unpack_list(array2, var_name)`

**Résultat -** variables deal créées :

`custom1 = 'one'`

`custom2 = 'two'`

`custom3 = 'three'`

</details>

### Comment renvoyer une liste sans éléments dupliqués

<details>

<summary>Description</summary>

remove\_duplicates(array) - renvoie une liste sans éléments dupliqués.

<mark style="color:red;">**!**</mark> array - paramètre obligatoire. La liste originale d’éléments avec doublons.

</details>

<details>

<summary>Exemple</summary>

Exemple :

arr = \[1, 2, 5, 1, 5, 3]

new\_arr = remove\_duplicates(arr)

Résultat - la liste \[1, 2, 5, 3] sera affectée à la variable new\_arr.

</details>

### Comment créer un dictionnaire

<details>

<summary>Description</summary>

Création d’un dictionnaire - déclaration d’un dictionnaire

**name\_dictionary = {}**

</details>

### Comment vider un dictionnaire

<details>

<summary>Description</summary>

Vider - n’est rien d’autre que déclarer un dictionnaire vide.

**name\_dictionary = {}**

</details>

### Comment obtenir la valeur d’un dictionnaire par clé

<details>

<summary>Description</summary>

**name\[key] -** obtention d’un élément de dictionnaire par clé

</details>

<details>

<summary>Exemples</summary>

**Exemple de travail avec un dictionnaire :**

&#x20;Dans ce cas précis, nous accédons à la valeur par la clé "a". Pour récupérer une valeur d’un dictionnaire à l’aide d’une clé spécifique, utilisez le format suivant : name\_dictionary\["key"]

<div data-with-frame="true"><figure><img src="/files/be9c7c034fe2f3a3735bd1353532268096f8047e" alt="" width="563"><figcaption></figcaption></figure></div>

Réponse :

<div data-with-frame="true"><figure><img src="/files/06d60a42661566177daf218963d06e451ee35538" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
dicts = {"a": "11", "d": "hi"}
/*récupération depuis le dictionnaire*/
aa = dicts["a"]
```

</details>

### Comment obtenir une liste des clés d’un dictionnaire

<details>

<summary>Description</summary>

**dict\_keys\_to\_array(data)** - pour obtenir une liste des clés du dictionnaire de données

</details>

<details>

<summary>Exemples</summary>

**Exemple :** Obtenir une liste de toutes les clés du dictionnaire

<div data-with-frame="true"><figure><img src="/files/97b9e1fe74229119b2b5b0641462d85dfa876ca0" alt="" width="563"><figcaption></figcaption></figure></div>

**Réponse :**&#x20;

<div data-with-frame="true"><figure><img src="/files/0e4031df74645a6806a94a3ca33817a20eb37490" alt=""><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
v={"A1":"orange","A2":"apricot","A3":"tangerine","A4":"apple","A5":"pear","A6":"kiwi","A7":"banana","A8":"peach"} 
key= dict_keys_to_array(v)
```

</details>

### Comment obtenir une liste de valeurs à partir d’un dictionnaire

<details>

<summary>Description</summary>

**dict\_values\_to\_array(data)** - pour obtenir une liste de valeurs à partir d’un dictionnaire

</details>

<details>

<summary>Exemples</summary>

Exemple :

<div data-with-frame="true"><figure><img src="/files/0f561610b1aa2e7cc3068b4b2bad137fe8957b3b" alt="" width="563"><figcaption></figcaption></figure></div>

Réponse :

<div data-with-frame="true"><figure><img src="/files/3365483cc487d3afdc3ca0a562303dbb4bc4cd0a" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
v={"A1":"orange","A2":"apricot","A3":"tangerine","A4":"apple","A5":"pear","A6":"kiwi","A7":"banana","A8":"peach"}
value= dict_values_to_array(v)
```

</details>

### Comment obtenir les valeurs de la liste de dictionnaires par la clé spécifiée

<details>

<summary>Description</summary>

**get\_values\_by\_key(data, key)** - vous permet d’obtenir des valeurs à partir de la liste de dictionnaires par la clé spécifiée. Renvoie une liste de valeurs.

</details>

<details>

<summary>Exemple</summary>

Exemple : obtenir des valeurs d’une liste de dictionnaires par clé

<div data-with-frame="true"><figure><img src="/files/d2748e191cf2d97edba9fa0d1529ee972f72535d" alt="" width="563"><figcaption></figcaption></figure></div>

Réponse :

<div data-with-frame="true"><figure><img src="/files/c784efd2947b2ccb56c114c231c64109b0457642" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
data = [{"Product": "Product№1", "Price": 1500}, {"Product": "Product№2", "Price": 6000}]
key = "Product"
result = get_values_by_key(data, key)
```

</details>

### Comment remplacer une valeur dans un dictionnaire&#x20;

<details>

<summary>Description</summary>

nam&#x65;**\['key'] = value** - remplacement de la valeur de l’élément du dictionnaire par la clé spécifiée. Si une clé inexistante est spécifiée, un nouvel élément de dictionnaire sera ajouté.

</details>

<details>

<summary>Description</summary>

**Exemple :**

Pour remplacer la valeur d’un élément spécifique du tableau, écrivez une affectation comme arra&#x79;*\_name\[index] = value or dictionary\_name*\[key] = value

<div data-with-frame="true"><figure><img src="/files/612617df04aacdea4875baf85a63121ba670896e" alt=""><figcaption></figcaption></figure></div>

Réponse :&#x20;

<div data-with-frame="true"><figure><img src="/files/345111598e681d6df9c2d11ed1888e1db42f67ed" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
dicts = {"a": "11", "d": "hi"}

/*Remplacer dans un dictionnaire*/
dicts['d'] = AAAAA

/*Ajouter dans un dictionnaire   dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=new

/*Remplacer dans un dictionnaire avec un nombre*/
dicts['a'] = int('555')
```

</details>

### Comment ajouter une valeur à un dictionnaire

<details>

<summary>Description</summary>

**dictionary\_name*****\['key'] = 'value'** -* ajout d’une nouvelle valeur au dictionnaire.&#x20;

{% hint style="warning" %}
Si la clé n’existait pas auparavant, une nouvelle paire clé-valeur sera ajoutée ; sinon, la valeur de la clé spécifiée sera remplacée.
{% endhint %}

</details>

<details>

<summary>Exemple</summary>

Voici un exemple de code dans le champ de calculatrice

<div data-with-frame="true"><figure><img src="/files/03ca81bbc9958e12d32872e49464a1b623c823d3" alt=""><figcaption></figcaption></figure></div>

Réponse

<div data-with-frame="true"><figure><img src="/files/81e84026e1138bc36e1d5e2eb764be921e6c83f4" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
/*ajout d’une nouvelle valeur au dictionnaire dicts['key'] = 'VVVVVVVVVVV'*/
dicts['m']=new
```

</details>

### Comment vérifier si une clé existe dans un dictionnaire

<details>

<summary>Description</summary>

**exist\_key(mass, key)** - pour vérifier si une clé existe dans un dictionnaire.

Paramètres :&#x20;

**mass -** dictionary&#x20;

**key -** la clé à rechercher

Renvoie True ou False selon que la clé a été trouvée ou non.

</details>

<details>

<summary>Exemple</summary>

Exemple d’utilisation :

<div data-with-frame="true"><figure><img src="/files/869f1bc6141964ae4384f02894102229cf478945" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/85f361dd297df643b8b75b9099f2c99159b2f46f" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
s = {"1": 123, "2": 234, "q": {"w": "e"}} 
q = if(exist_key(s, 'q'), 'Trouvé', 'Une autre ligne')
```

</details>

### Comment vérifier la position d’une clé dans un dictionnaire

<details>

<summary>Description</summary>

**key\_index(mass, key)** - pour vérifier la position d’une clé dans un dictionnaire.

**Paramètres :** \
**mass - dictionnaire**  \
**key -** Clé à rechercher.

{% hint style="info" %}
La position dans un dictionnaire est comptée à partir de 0. Ainsi, le premier élément est 0, le deuxième élément est 1, et ainsi de suite.
{% endhint %}

</details>

<details>

<summary>Exemple</summary>

Exemple d’utilisation :

<div data-with-frame="true"><figure><img src="/files/6fb335f7b1e499a0057113c367d072b57eac8bd7" alt=""><figcaption></figcaption></figure></div>

*Résultat :*

<div data-with-frame="true"><figure><img src="/files/db84fec794c03a13bc8ee8b1f6909d5382919306" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
s = {"1": 123, "2": 234, "q": {"w": "e"}} 
q = key_index(s, 'q')
```

</details>

### Comment obtenir le nombre d’éléments dans un dictionnaire

<details>

<summary>Description</summary>

**arr\_len(mass)** - pour déterminer la longueur d’un dictionnaire.&#x20;

Paramètre :\
**mass -** *dictionary*&#x20;

Résultat : renvoie un nombre – la longueur du dictionnaire.

{% hint style="warning" %}
Будьте внимательны Lors du passage d’un paramètre à la fonction : si la fonction est appelée sans paramètres, elle renvoie 0 ; si le paramètre n’est ni une liste ni un dictionnaire, elle renvoie -1.
{% endhint %}

</details>

<details>

<summary>Exemple</summary>

Exemple d’utilisation :

<div data-with-frame="true"><figure><img src="/files/c57b4c058b73027c7d8926630053a256fdd13d91" alt=""><figcaption></figcaption></figure></div>

Réponse :

<div data-with-frame="true"><figure><img src="/files/2bb0aeae4a81cc2fa3fcc1c1eb8e174eb2838562" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

### Comment supprimer un élément d’un dictionnaire

<details>

<summary>Description</summary>

Par index ou par clé

**del(mass, key)** - pour supprimer un élément d’une liste par index ou d’un dictionnaire par clé.\
Il prend deux paramètres : la liste/le dictionnaire et l’index/la clé à supprimer.\
Renvoie le dictionnaire ou la liste modifié(e) sans modifier l’objet original.

{% hint style="warning" %}
Si les valeurs d’une liste ou d’un dictionnaire sont des nombres, utilisez la fonction remove() pour supprimer un élément.
{% endhint %}

</details>

<details>

<summary>Exemple</summary>

Exemple avec un dictionnaire

<div data-with-frame="true"><figure><img src="/files/92bd7bb0f06fcb9d1ed0a6fe805e45406d02b6c7" alt=""><figcaption></figcaption></figure></div>

Résultat

<div data-with-frame="true"><figure><img src="/files/09eccc162632d5fdfcd9caa0a36ea3d968cf6cc5" alt="" width="563"><figcaption></figcaption></figure></div>

Exemple avec un tableau

<div data-with-frame="true"><figure><img src="/files/8cc796525968d731e9b3dcec26b4dc23edc3ed31" alt="" width="563"><figcaption></figcaption></figure></div>

Résultat

<div data-with-frame="true"><figure><img src="/files/8eada45a88b2fb4d81b364dcd03271c3281c1bef" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

Exemple avec un dictionnaire

`s={"1":123, "2":234, "q":{"w":"e"}}`<br>

`q=del(s,'q')`

Exemple avec un tableau

`s=["John", "Ann", "Sophie"]`\ <br>

`q=del(s, 1)`

</details>

### Comment convertir un dictionnaire en texte lisible par un humain

<details>

<summary>Description</summary>

**humanize(dict, delimiter, from\_i, to\_i)**&#x20;

Paramètres :

**dict** - nom du dictionnaire\
**delimiter** - séparateur entre les lignes\
**from\_i** - index de l’élément à partir duquel commencer l’affichage (indexé à partir de 0)\
**to\_i** - index de l’élément où terminer l’affichage (non inclus)

</details>

<details>

<summary>Exemple</summary>

Regardons l’exemple :

<div data-with-frame="true"><figure><img src="/files/779dfe1062b9bb3c4e4a20ec1cd070b39167f684" alt="" width="563"><figcaption></figcaption></figure></div>

Réponse

<div data-with-frame="true"><figure><img src="/files/f182e1ff7895b7f3e0845736cac894ed068dd98b" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

```
dict = {"[id146467928|Alex]":"6","[id145255525|Маx]":"20"}
r = humanize(dict, ': ')
```

</details>

### Pour trier des dictionnaires&#x20;

sort() | sort\_by\_value()

<details>

<summary>Description</summary>

<mark style="background-color:blue;">**Tri de dictionnaire**</mark>

**sort(dict, b)** - trie une liste par valeur, et un dictionnaire par clé

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;dict**- dictionnaire

**b** - sens du tri (False – croissant par défaut, True – décroissant)

<mark style="background-color:blue;">**Tri de dictionnaire par valeur**</mark>

**sort\_by\_value(dict, b) -** Tri d’un dictionnaire par valeurs.

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;dict**- dictionnaire

**b** - sens du tri (False – croissant par défaut, True – décroissant)

</details>

<details>

<summary>Exemples</summary>

Exemple : tri d’une liste par ordre décroissant et d’un dictionnaire par ordre croissant :

<div data-with-frame="true"><figure><img src="/files/b20bb0ba89ebb74d7f45e5f4551e60df6c0be05a" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/3d5e7a2a9de39d7cd0f0a248af24b79ce5ac1915" alt="" width="375"><figcaption></figcaption></figure></div>

Tri d’un dictionnaire par ses valeurs :

<div data-with-frame="true"><figure><img src="/files/6203818a05a01c7e4d909dae6d3912ce366f6d21" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/104d09ca96a105c1cbd4dff2709effd9a495e43a" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

Exemple : tri d’une liste par ordre décroissant et d’un dictionnaire par ordre croissant :

`array1=[5,4,0,6,3,0]`<br>

`array1=sort(array1, True)`

`dict={"Ann":5, "John":4, "Sophie":0, "Alex":6, "Kate":3, "Harry":0}`

`dict=sort(dict)`

Tri d’un dictionnaire par ses valeurs :

`dict={"Ann":5, "John":4, "Sophie":0, "Alex":6, "Kate":3, "Harry":0}`&#x20;

`dict=sort_by_value(dict)`

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/fr/chatbot/functions/calculatrice/arrays.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
