Travailler avec les tableaux et les 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.

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}]
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
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":"red","second_color":"orange","third_color":"yellow","forth_color":"green","sixth_color":"blue","last_color":"purple"}
Alors, comment spécifier l’adresse d’un élément, par exemple « turquoise » ?
Et dans les tableaux, l’adressage se fait par indice, donc l’adresse de l’élément "turquoise" est 0.
Récapitulons : ["where"][0] - est l’adresse de l’élément "turquoise".


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 :{"suggestions": [{"value": "Dirham", "unrestricted_value": "Dirham", "data": {"code": "784", "strcode": "AED", "name": "Dirham", "country": "UAE"}}]}
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": [{"value": "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

{"suggestions": [{"value": "Dirham", "unrestricted_value": "Dirham", "data": {"code": "784", "strcode": "AED", "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
Comment remplacer une valeur dans un tableau
Exemple
Exemple :
Pour remplacer la valeur d’un élément spécifique du tableau, utilisez la syntaxe suivante : array_name[index] = value

Réponse :

Comment vérifier si un élément est dans un tableau
Description
in_array(mass, value) - pour vérifier si un élément existe dans un tableau.
Paramètres : ! mass - tableau ! value - valeur à rechercher
Renvoie True ou False selon que la valeur est trouvée ou non.
Comment connaître la longueur d’un tableau
Description
arr_len(mass) - pour connaître la longueur du tableau
Paramètre : ! mass - tableau
Résultat : renvoie un nombre - la longueur du tableau.
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.
Comment insérer un élément à la fin d’un tableau ?
Description
append(mass, element, priznak) - pour insérer un élément à la fin d’un tableau.
Paramètres :
! mass - tableau ! 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)
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.
Exemple
Exemple d’utilisation :


Exemple d’ajout et de suppression dans un tableau :

p est supprimée du tableau project.pzdrExemple de création d’un tableau contenant des tableaux :

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

Comment insérer une valeur à une position spécifique dans un tableau
Description
insert(mass, index, value, priznak) - pour insérer un élément à une position spécifique du tableau.
Paramètres : ! mass - tableau ! index - position d’insertion ! 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)
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..
Exemple
Exemple :

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

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

Comment supprimer un élément d’un tableau
del() | del | remove()
Description
Par indice
del(mass, key) - supprime un élément du tableau par son indice.
Paramètres : ! mass - nom du tableau ; ! 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)
Si votre tableau contient des nombres et que vous souhaitez supprimer un élément par sa valeur, utilisez la fonction remove().
del name['index'] - suppression d’une valeur d’un tableau par indice
Paramètres : ! name- nom du tableau ; ! index- l’indice de la valeur à supprimer
Par valeur
remove(mass, value) - pour supprimer une valeur d’un tableau.
Paramètres : ! mass - nom du tableau ; ! 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)
Exemples
Exemple de suppression d’un élément par indice :


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


Comment obtenir la position d’un élément dans un tableau
Description
index(mass, value)
Paramètres : ! mass - nom du tableau ! value - la valeur dont il faut déterminer la position.
Si l’élément n’est pas dans le tableau, la fonction renverra -1.
Exemples
Exemple de détermination de la position d’un élément dans un tableau :

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

Comme nous pouvons le voir, puisque le nombre 5 n’est pas dans le tableau, la fonction a renvoyé -1.
Comment convertir un tableau en texte lisible par l’humain
Description
massive_to_text(massive, header, numbered,delimiter1,delimiter2)
Paramètres :
! 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 « ) »)
Comment exclure un tableau d’un autre
Description
except_arr(mas1, mas2)
Paramètres :
! mas1 - le tableau dont les éléments seront exclus, ! mas2 - le tableau contenant les éléments à exclure
Comment trouver l’intersection des tableaux
Description
cross_arr(mas1, mas2)
Paramètres :
! mas1 - le tableau dans lequel rechercher ! mas2 - le tableau contenant les éléments à rechercher
Comment fusionner des tableaux
Description
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 ','
Comment additionner les éléments d’un tableau
Description
sum_array(array)
Paramètres :
tableau - le tableau dont les éléments doivent être additionnés
Attention ! 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
Comment mélanger les éléments d’un tableau
Description
shuffle_massive(massive
Paramètres :
massive - le tableau dont les éléments doivent être mélangés.
Pour trier les tableaux et les dictionnaires
sort() | sort_by_value()
Description
Tri dans un tableau ou un dictionnaire
sort(mass, b) - trie un tableau par valeur, et un dictionnaire par clé
Paramètres :
! mass - tableau/dictionnaire b - ordre de tri (False – croissant (par défaut), True – décroissant)
Tri d’un dictionnaire par sa valeur
sort_by_value(dict, b) - trie un dictionnaire par valeurs.
Paramètres : ! dict- dictionnaire b - ordre de tri (False – croissant (par défaut), True – décroissant)
Exemple
Exemple de tri d’un tableau par ordre décroissant et d’un dictionnaire par ordre croissant :


Tri d’un dictionnaire par valeurs :


Conversion d’un tableau/dictionnaire en boutons
tools_make_button_str_checker() | tools_check_user_input()
Description
Conversion d’un tableau/dictionnaire en boutons
tools_make_button_str_checker(values_list, key, in_line, button_type, checker_with_numbers)
Paramètres :
! 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 :


Obtenir une valeur de dictionnaire en fonction de la sélection du client
tools_check_user_input(values_list, user_input, key, return_key)
Paramètres :
! 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 Exemple de dictionnaire : [{"text":"T-shirts","price":100},{"text":"Shorts","price":150},{"text":"Socks","price":20},{"text":"Caps","price":50}] ! user_input - la valeur saisie par l’utilisateur parmi l’une des valeurs de values_list Exemple de valeur : Caps key - la clé utilisée pour la sélection dans le tableau values_list de dictionnaires Exemple de clé : text return_key - la valeur renvoyée pour la clé spécifiée depuis values_list Exemple de valeur renvoyée : price
Exemple
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().


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

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

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

Sélection de données à partir d’un tableau
Description
array_slice(array, start_index, end_index)
Paramètres :
! tableau - tableau ! start_index - début de la tranche end_index - fin de la tranche (par défaut : jusqu’à la fin)
Exemple
Sélectionnons un sous-tableau à partir du 1er élément :

res will be ["Shorts", "Socks", "Caps"]
Autre exemple de sélection d’un sous-tableau du 0e au 2e élément du tableau :

res will be ["T-shirts", "Shorts"]
Déballage des éléments du tableau
Fonction
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.
! 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.
Exemple
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'
Comment renvoyer une liste sans éléments dupliqués
Description
remove_duplicates(array) - renvoie une liste sans éléments dupliqués.
! array - paramètre obligatoire. La liste originale d’éléments avec doublons.
Exemple
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.
Comment créer un dictionnaire
Comment vider un dictionnaire
Comment obtenir la valeur d’un dictionnaire par clé
Exemples
Exemple de travail avec un dictionnaire :
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"]

Réponse :

Comment obtenir une liste des clés d’un dictionnaire
Comment obtenir une liste de valeurs à partir d’un dictionnaire
Description
dict_values_to_array(data) - pour obtenir une liste de valeurs à partir d’un dictionnaire
Comment obtenir les valeurs de la liste de dictionnaires par la clé spécifiée
Description
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.
Comment remplacer une valeur dans un dictionnaire
Description
name['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é.
Description
Exemple :
Pour remplacer la valeur d’un élément spécifique du tableau, écrivez une affectation comme array_name[index] = value or dictionary_name[key] = value

Réponse :

Comment ajouter une valeur à un dictionnaire
Description
dictionary_name['key'] = 'value' - ajout d’une nouvelle valeur au dictionnaire.
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.
Comment vérifier si une clé existe dans un dictionnaire
Description
exist_key(mass, key) - pour vérifier si une clé existe dans un dictionnaire.
Paramètres :
mass - dictionary
key - la clé à rechercher
Renvoie True ou False selon que la clé a été trouvée ou non.
Comment vérifier la position d’une clé dans un dictionnaire
Description
key_index(mass, key) - pour vérifier la position d’une clé dans un dictionnaire.
Paramètres : mass - dictionnaire key - Clé à rechercher.
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.
Comment obtenir le nombre d’éléments dans un dictionnaire
Description
arr_len(mass) - pour déterminer la longueur d’un dictionnaire.
Paramètre : mass - dictionary
Résultat : renvoie un nombre – la longueur du dictionnaire.
Будьте внимательны 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.
Comment supprimer un élément d’un dictionnaire
Description
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.
Si les valeurs d’une liste ou d’un dictionnaire sont des nombres, utilisez la fonction remove() pour supprimer un élément.
Exemple de code à copier
Exemple avec un dictionnaire
s={"1":123, "2":234, "q":{"w":"e"}}
q=del(s,'q')
Exemple avec un tableau
s=["John", "Ann", "Sophie"]
q=del(s, 1)
Comment convertir un dictionnaire en texte lisible par un humain
Description
humanize(dict, delimiter, from_i, to_i)
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)
Pour trier des dictionnaires
sort() | sort_by_value()
Description
Tri de dictionnaire
sort(dict, b) - trie une liste par valeur, et un dictionnaire par clé
Paramètres :
! dict- dictionnaire
b - sens du tri (False – croissant par défaut, True – décroissant)
Tri de dictionnaire par valeur
sort_by_value(dict, b) - Tri d’un dictionnaire par valeurs.
Paramètres :
! dict- dictionnaire
b - sens du tri (False – croissant par défaut, True – décroissant)
Exemples
Exemple : tri d’une liste par ordre décroissant et d’un dictionnaire par ordre croissant :


Tri d’un dictionnaire par ses valeurs :


Exemple de code à copier
Exemple : tri d’une liste par ordre décroissant et d’un dictionnaire par ordre croissant :
array1=[5,4,0,6,3,0]
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}
dict=sort_by_value(dict)
Mis à jour



































