Publicité

Les tableaux et les listes sont parmi les structures de données les plus utiles dans la programmation - bien que peu de gens les utilisent vraiment à leur plein potentiel. Aujourd'hui, je vais vous parler des bases, avec quelques exemples simples de Python.

Conditions préalables

Il n'y a pas grand-chose à savoir à l'avance pour apprendre ces concepts. Une connaissance de base des paradigmes de programmation et de Python sera utile, mais elle n'est pas obligatoire. Lisez notre exemples de base de Python 10 exemples de base de Python qui vous aideront à apprendre rapidementCet article d'exemples de base en python est destiné à ceux qui ont déjà une certaine expérience en programmation et qui souhaitent simplement passer à Python le plus rapidement possible. Lire la suite si vous ne savez pas par où commencer. Si vous pensez que Python est un langage inutile, consultez notre raisons pour lesquelles ce n'est pas 5 raisons pour lesquelles la programmation Python n'est pas inutilePython - Vous l'aimez ou vous le détestez. Vous pourriez même vous balancer d'un bout à l'autre comme un pendule. Quoi qu'il en soit, Python est un langage sur lequel il est difficile d'être ambivalent.

instagram viewer
Lire la suite .

Bien que les idées fondamentales suivantes puissent être appliquées à n'importe quel langage, je vais démontrer les exemples en Python. C'est une langue facile à apprendre et fournit une excellente plate-forme pour comprendre ce qui se passe. De plus, tutorialspoint.com fournit un excellent interpréteur Python en ligne - vous n'avez même pas besoin d'installer Python si vous ne le souhaitez pas (si vous le faites, consultez notre guide des environnements virtuels Apprenez à utiliser l'environnement virtuel PythonQue vous soyez un développeur Python expérimenté ou que vous débutiez, apprendre à configurer un environnement virtuel est essentiel pour tout projet Python. Lire la suite ).

Structures de données

Qu'est-ce qu'un Structure de données? À son niveau le plus élémentaire, une structure de données est un moyen de stocker efficacement des données. Il est facile de se confondre car les structures de données ne sont pas Types de données. Les types de données indiquent au compilateur (ou dans le cas de Python l'interpréteur) comment les données sont destinées à être utilisées. Les structures de données spécifient les opérations qui peuvent être effectuées et implémentent souvent des règles et réglementations spécifiques.

Vous avez peut-être entendu parler de certains linéaire types de données (les éléments sont séquentiels):

  • Array
  • Matrice
  • Table de recherche

De même, listes contiennent souvent des règles et des méthodes pour réglementer leur fonctionnement. Certaines listes courantes sont:

  • Liste liée
  • Liste doublement liée
  • Liste de tableaux ou tableau dynamique

Il existe une multitude de structures de données différentes. Vous avez peut-être entendu parler de arbres binaires, graphiques, ou hachages. Je vais discuter des bases aujourd'hui, mais vous souhaiterez peut-être en savoir plus une fois que vous serez à l'aise.

Array

Commençons par le début. Un tableau est une simple collection de valeurs (liées). Ces valeurs sont appelées éléments. Il peut généralement s'agir de n'importe quel type de données que vous aimez, y compris des objets ou d'autres listes! La principale mise en garde avec les tableaux est que toutes les données doivent être identiques - vous ne pouvez pas stocker de chaînes et d'entiers mixtes. Tu presque vous devez toujours spécifier le nombre d'éléments que vous souhaitez stocker. Taille variable ou tableaux dynamiques existent, mais les tableaux de longueur fixe sont plus simples pour commencer.

Python complique quelque peu les choses. Cela vous facilite grandement la tâche, mais ne respecte pas toujours les définitions strictes des structures de données. La plupart des objets en Python sont généralement des listes, donc la création d'un tableau est en fait plus de travail. Voici un code de démarrage:

à partir d'un tableau d'importation de tableau. nombres = tableau ('i', [2, 4, 6, 8]) imprimer les nombres [0]

La première ligne importe le tableau module - requis pour travailler avec des tableaux. La deuxième ligne crée un nouveau tableau appelé Nombres et l'initialise avec les valeurs 2, 4, 6 et 8. Chaque élément se voit attribuer un entier valeur appelée clé ou indice. Les clés commencent à zéro, donc chiffres [0] accède au premier élément (2):

Tableaux Python

Vous vous demandez peut-être 'je' est utilisé pour. C'est un code de type qui indique à Python que le tableau stockera des entiers. Ce genre de chose ne serait normalement pas nécessaire en Python (il serait considéré comme «non pythonique»). La raison en est simple. Les tableaux en Python sont un wrapper très fin sur les tableaux C sous-jacents de votre système d'exploitation. Cela signifie qu'ils sont rapides et stables, mais ils peuvent ne pas toujours adhérer à la syntaxe Python.

Vous ne pouvez pas stocker de types mixtes dans ces tableaux. Supposons que vous vouliez stocker la chaîne «makeuseof.com»:

nombres = tableau ('i', [2, 4, 6, "makeuseof.com"])

Cela ne sera pas autorisé et générera une exception:

Tableaux Python

Voici comment imprimer tous les éléments:

imprimer des nombres
Tableaux Python

Cette méthode d'accès aux éléments du tableau fonctionne bien et est parfaite pour la bonne tâche. Ce n'est pas bon pour accéder à l'ensemble de la baie. Les programmeurs sont intrinsèquement paresseux, je serai donc heureux d'écrire plus de code, si cela signifie que je peux faciliter la maintenance et réduire les efforts de copier-coller.

Chaque langage de programmation implémentera une boucle quelconque, ce qui est parfait pour itérer (boucler) sur des éléments de liste. Les boucles les plus courantes sont tandis que et pour. Python rend les choses encore plus faciles en fournissant un pour dans boucle:

pour nombre en nombre: imprimer le numéro

Remarquez comment vous n'avez pas eu à accéder aux éléments par leur clé. C'est une bien meilleure façon de travailler avec un tableau. Une autre manière d'itérer une liste consiste à utiliser pour boucle:

pour i dans la plage (len (nombres)): imprimer les nombres [i]

Cela fait exactement la même chose que l'exemple précédent, bien que vous ayez dû spécifier le nombre d'éléments dans le tableau (len (voitures)), ainsi que le passage je comme clé du tableau. C'est presque exactement le code pour dans les boucles fonctionnent. De cette façon, il offre un peu plus de flexibilité et est légèrement plus rapide (bien que pour dans les boucles sont plus que suffisamment rapides majorité du temps.)

Listes

Maintenant que vous savez comment fonctionnent les tableaux, regardons une liste. Cela peut parfois prêter à confusion, car les gens utilisent une terminologie différente de manière interchangeable et les listes sont tableaux… en quelque sorte.

Une liste est un type spécial de tableau. La plus grande différence est que les listes peuvent contenir mixte types (rappelez-vous, les tableaux doivent contenir des éléments du même type). Les listes sont très faciles en Python:

voitures = ['Ford', 'Austin', 'Lancia']

Remarquez comment vous n'avez pas besoin d'importer le tableau module?

Cette syntaxe déclare une liste appelée voitures. À l'intérieur des crochets, chaque élément de la liste est déclaré. Chaque élément est séparé par une virgule, et comme chaque élément est une chaîne, vous les déclarez entre guillemets. Python sait que c'est un objet, donc le impression affichera le contenu de la liste:

imprimer des voitures
Tableaux Python

Tout comme avec le tableau, vous pouvez parcourir les éléments de la liste en utilisant des boucles:

pour voiture dans les voitures: imprimer la voiture
Tableaux Python

Le vrai tour du parti des listes est leur type mixte. Allez-y et ajoutez des données supplémentaires:

voitures = ["Ford", "Austin", "Lancia", 1, 0,56]

Ce n'est pas un problème pour Python - cela n'a même pas déclenché d'exception:

Tableaux Python

Il est facile d'ajouter de nouveaux éléments à une liste (chose impossible avec les tableaux):

voitures = ['Ford', 'Austin'] imprimer des voitures. cars.append («Lancia») imprimer des voitures
Tableaux Python

Vous pouvez également fusionner deux listes en une seule:

voitures = ['Ford', 'Austin'] imprimer des voitures. other_cars = ['Lotus', 'Lancia'] cars.extend (other_cars) imprimer des voitures
Tableaux Python

Il est tout aussi facile de supprimer des éléments à l'aide du retirer syntaxe:

voitures = ['Ford', 'Austin', 'Lotus', 'Lancia'] imprimer des voitures. cars.remove («Ford») imprimer des voitures
Tableaux Python

Cela couvre les bases des listes et des tableaux en Python. Pourquoi ne pas envisager un projet de codage, tel que lire et écrire sur Google Sheets Comment lire et écrire dans des feuilles Google avec PythonPython peut sembler étrange et inhabituel, mais il est facile à apprendre et à utiliser. Dans cet article, je vais vous montrer comment lire et écrire dans Google Sheets à l'aide de Python. Lire la suite , lecture des données json Comment obtenir Python et JavaScript pour communiquer à l'aide de JSONAujourd'hui, je vais vous montrer comment utiliser JSON pour envoyer des données de JavaScript à Python. Je vais vous expliquer comment configurer un serveur Web, ainsi que tout le code dont vous avez besoin. Lire la suite . Vous pourriez peut-être mettre vos nouvelles compétences à profit boutons de raccourci personnalisés Créez vos propres boutons de raccourci personnalisés avec un ArduinoL'humble Arduino peut faire beaucoup de choses, mais saviez-vous qu'il peut émuler un clavier USB? Vous pouvez combiner de longs raccourcis clavier en une seule touche de raccourci personnalisé, avec ce circuit simple. Lire la suite . Bien qu'il s'agisse d'un langage de programmation différent, ces principes de tableau s'appliquent toujours.

Avez-vous appris quelque chose de nouveau? Souhaitez-vous voir du contenu plus compliqué? Faites-nous part de vos réflexions dans les commentaires ci-dessous!

Joe est diplômé en informatique de l'Université de Lincoln, au Royaume-Uni. C'est un développeur de logiciels professionnel, et lorsqu'il ne pilote pas de drones ou n'écrit pas de musique, il peut souvent être trouvé en train de prendre des photos ou de produire des vidéos.