Comment fonctionnent les tableaux et les listes en Python

Comment fonctionnent les tableaux et les listes en Python

Les tableaux et les listes font partie des structures de données les plus utiles en programmation, bien que peu de personnes les utilisent vraiment à leur plein potentiel. Aujourd'hui, je vais vous expliquer les bases, ainsi que quelques exemples Python simples.





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 ce n'est pas obligatoire. Lisez notre exemples Python de base si vous ne savez pas par où commencer. Si vous pensez que Python est un langage inutile, consultez nos raisons pour lesquelles il ne l'est pas.





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, tutorielspoint.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 ).





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 tromper 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 mettent souvent en œuvre 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) :



  • Déployer
  • Matrice
  • Table de recherche

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

  • Liste liée
  • Liste doublement chaînée
  • Liste de tableaux ou tableau dynamique

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





Déployer

Commençons par le commencement. Un tableau est une simple collection de valeurs (liées). Ces valeurs sont appelées éléments. Ils peuvent généralement être n'importe quel type de données, y compris des objets ou d'autres listes ! Le principal inconvénient avec les tableaux est que toutes les données doivent être les mêmes - vous ne pouvez pas stocker des chaînes et des entiers mixtes. Tu presque 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 les choses, mais cela ne s'en tient pas toujours aux définitions strictes des structures de données. La plupart des objets en Python sont généralement des listes, donc créer un tableau est en fait plus de travail. Voici un code de démarrage :





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

La première ligne importe le déployer module -- qui est nécessaire 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 un clé ou indice . Les clés commencent à zéro , donc nombres[0] accédera au premier élément ( 2 ):

Vous vous demandez peut-être ce que '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 (ce serait considéré comme 'non pythonique'). La raison en est simple. Les tableaux en Python sont une enveloppe très fine sur les tableaux C sous-jacents de votre système d'exploitation. Cela signifie qu'ils sont rapides et stables, mais qu'ils peuvent ne pas toujours adhérer à la syntaxe Python.

comment importer une liste de lecture sur Spotify

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

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

Cela ne sera pas autorisé et lèvera une exception :

Voici comment imprimer tous les éléments :

print(numbers)

Cette méthode d'accès aux éléments du tableau fonctionne bien et est parfaite pour la bonne tâche. Ce qui n'est pas bon, c'est d'accéder à l'ensemble du tableau. Les programmeurs sont intrinsèquement paresseux, donc j'écrirai volontiers plus de code de meilleure qualité, 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, parfaite pour itérer (boucler) sur les éléments de la liste. Les boucles les plus courantes sont tandis que et pour . Python rend les choses encore plus faciles en fournissant un pour dans boucle:

for number in numbers:
print(number)

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 façon d'itérer sur une liste consiste à utiliser un pour boucle:

for i in range(len(numbers)):
print(numbers[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) ), en passant je comme clé du tableau. C'est presque exactement le code qui pour dans les boucles s'exécutent. Cette méthode offre un peu plus de flexibilité et est légèrement plus rapide (bien que pour dans les boucles sont plus qu'assez rapides majorité du temps.)

Listes

Maintenant que vous savez comment fonctionnent les tableaux, examinons une liste. Cela peut parfois être déroutant, car les gens utilisent une terminologie différente de manière interchangeable et les listes sommes 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 simples en Python :

comment rechercher incognito sur iphone
cars = ['Ford', 'Austin', 'Lancia']

Remarquez que vous n'avez pas besoin d'importer le déployer module?

Cette syntaxe déclare une liste appelée voitures. A 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 qu'il s'agit d'un objet, donc le imprimer L'instruction affichera le contenu de la liste :

print(cars)

Tout comme avec le tableau, vous pouvez itérer les éléments de la liste à l'aide de boucles :

for car in cars:
print(car)

Le vrai truc de fête des listes est leur type mixte. Allez-y et ajoutez des données supplémentaires :

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

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

Il est facile d'ajouter de nouveaux éléments à une liste (ce qui n'est pas possible avec les tableaux) :

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

Vous pouvez également fusionner deux listes en une seule :

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

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

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

Cela couvre les bases des listes et des tableaux en Python. Pourquoi ne pas envisager un projet de codage, tel que la lecture et l'écriture sur Google Sheets , la lecture de données json . Peut-être pourriez-vous mettre vos nouvelles compétences à profit pour faire des boutons de raccourci personnalisés . Bien qu'il s'agisse d'un langage de programmation différent, ces principes de tableau s'appliquent toujours.

Partager Partager Tweeter E-mail 5 astuces pour booster vos machines Linux VirtualBox

Vous en avez assez des mauvaises performances offertes par les machines virtuelles ? Voici ce que vous devez faire pour améliorer les performances de votre VirtualBox.

Lire la suite
Rubriques connexes
  • La programmation
  • La programmation
  • Python
A propos de l'auteur Joe Coburn(136 articles publiés)

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, on le trouve souvent en train de prendre des photos ou de produire des vidéos.

Plus de Joe Coburn

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner