Introduction à Python que même les singes peuvent comprendre (partie 2)

À propos, à partir de la dernière fois, cet article est destiné aux débutants en Python. Cette fois, nous allons traiter la liste de Python comme indiqué dans le tableau ci-dessous.

table des matières

  1. Créez une liste
  2. Extraire les données dans la liste
  3. Modifier / Ajouter / Supprimer la liste
  4. Énumérer le principe de fonctionnement

1. Créez une liste.

La dernière fois, j'ai appris les variables et les types. Les types incluaient float pour les nombres réels, int pour les entiers, str pour le texte et booléen pour True ou False, mais cette fois, nous allons introduire un nouveau type list </ b>. D'ailleurs, en ce qui concerne les variables mentionnées la dernière fois, en gros, une seule donnée peut être stockée dans une variable. La dernière fois, j'ai calculé le montant d'argent lors de l'importation d'un produit, mais si une seule donnée peut être attribuée à une variable, lorsque je veux mettre le montant des données de quatre articles, j'écrirais comme suit.

price1 = 2
price2 = 2.5
price3 = 13
price4 = 1.15

Cependant, vous voulez essentiellement faire une analyse lorsque vous avez beaucoup de données. Comme il y en a quatre, cela ne prend que quatre lignes, mais s'il y a 100 articles, vous devrez décrire jusqu'au prix 100. Et au lieu d'écrire 100 lignes de variables, vous pouvez utiliser une liste </ b>. En utilisant une liste, vous pouvez utiliser des crochets ([]) et deux-points (,) pour écrire: Il s'agit du nouveau type de données liste </ b>.

[2, 2.5, 13, 1.15]

Et ces données peuvent également être affectées à des variables. La méthode consiste simplement à connecter les variables avec des égaux.

price = [2, 2.5, 13, 1.15]

Vous avez maintenant affecté la liste à une variable appelée prix. Cette liste peut contenir n'importe quel type de données, qu'il s'agisse d'un flottant, d'un entier, d'un booléen ou d'une chaîne. Il est également possible de mettre différents types de données dans une liste comme indiqué ci-dessous. Par exemple, vous pouvez stocker non seulement des informations «combien» mais aussi «quel élément est combien» d'informations dans une liste comme indiqué ci-dessous.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]

Et ce n'est pas tout. Il est également possible de remettre la liste dans la liste.

price = [["ItemA", 2], ["ItemB", 2.5], ["ItemC", 13], ["ItemD", 1.15]]

Dans l'exemple ci-dessus, la structure est telle qu'une liste contient quatre sous-listes. En faisant ce qui précède, vous pouvez créer une liste pour chaque élément, la première liste étant la liste ItemA et la seconde étant la liste ItemB, ce qui facilite la gestion de vos données.

Bien sûr, vous pouvez également mettre des variables dans la liste. Par exemple, si vous mettez les variables utilisées pour calculer le coût d'importation la dernière fois dans une seule liste, ce sera comme suit.

price = 2
exchange = 110
tax = 0.13
totalprice = price*exchange*(1+tax)
price_list = [price, exchange, tax, totalprice]
print(price_list)
#Si vous exécutez le code ci-dessus,[2, 110, 0.13, 248.59999999999997]Est retourné.

price_list2 = ["price", price, "exchange", exchange, "tax", tax, "totalprice", totalprice]
print(price_list2)
#Différents types de données peuvent être stockés dans la liste
#Si vous exécutez le code ci-dessus,['price', 2, 'exchange', 110, 'tax', 0.13, 'totalprice', 248.59999999999997]Est retourné

Vous pouvez également calculer dans la liste.

list = [4/2, "d"*4, 5+1]
print(list)
#Si vous exécutez le code ci-dessus,[2.0, 'dddd', 6]rends le.
#Vous pouvez également calculer dans la liste
#"d"Est une chaîne de caractères, donc si vous la multipliez par quatre"dddd"Devient

2. Extraction de données dans une liste (sous-ensemble)

Vous savez maintenant comment créer une liste. Cependant, pour effectuer une analyse, il est nécessaire non seulement de créer une liste, mais également d'en extraire les données à utiliser pour l'analyse. Cette extraction de données est appelée un sous-ensemble </ b>. Utilisez l ' index </ b> pour extraire les données de la liste. Par exemple, regardez le prix ci-dessus.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]

Les premières données de cette liste reçoivent un index de 0 et les secondes données un index de 1. Ici, les données de prix de l'article C sont classées 6e dans cette liste, donc on lui attribue un indice de 5. Et si vous souhaitez faire référence aux données de chaque index, utilisez chaque parenthèse "[]" Nom de la liste [index] </ b> Il est décrit comme. Voir l'exemple ci-dessous.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
price[5]
#Lorsque j'exécute ce code, les données avec l'index 5(13)rends le
#Les données d'index 5 sont 6e à partir de la gauche

Bien sûr, si vous écrivez price [6], le 7ème "Item D" sera retourné. Vous pouvez également utiliser un nombre négatif comme index. Si un nombre négatif est utilisé, les données référencées seront les nièmes données à partir de la fin de la liste. Par exemple, le prix de ItemD est à la toute fin de la liste, vous pouvez donc écrire:

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
price[-1]
#Lorsque j'exécute ce code, les dernières données de la liste(1.15)rends le
#L'index négatif représente le nième à partir de la fin de la liste
#price[7]Mais aussi, 1.Renvoie 15

Bien entendu, les données extraites peuvent être calculées comme suit.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
print(price[1] + price[3])
#Si vous exécutez ce code, 4.Renvoie 5
#price[1]=2
#price[3]=2.5

Désormais, le seul moyen d'extraire des éléments d'une liste est de n'en spécifier qu'un dans l'index. Vous pouvez également spécifier une plage de listes, extraire uniquement les données contenues dans cette plage et créer une nouvelle liste. C'est ce qu'on appelle une tranche </ b>. Nous avons utilisé des crochets [] pour extraire la liste par index, mais cette fois nous utiliserons des deux-points en plus des crochets.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
price[3:5]

Alors, quelle est la réponse lorsque vous exécutez ce code? On peut s'attendre à ce qu'il retourne probablement 3 à 5 éléments de l'index, c'est-à-dire [2.5, "ItemC", 13]. Cependant, le rendement réel est le suivant.

[2.5, "ItemC"]

Comme vous pouvez le voir, il s'agit d'une liste de données uniquement avec les index 3 et 4, et n'inclut pas les données avec l'index 5. En d'autres termes, lorsque vous découpez les données dans la liste pour créer une nouvelle liste de données, utilisez des crochets et des deux-points. [Début (inclus): Fin (non inclus)] </ b> Il faut décrire.

À propos, lors du découpage, si vous souhaitez spécifier les données depuis le début (c'est-à-dire que l'index 0 commence), ou si vous souhaitez spécifier les données jusqu'à la fin, vous pouvez omettre l'index.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
price[:4]
#L'index 0 est facultatif
#Lorsque vous exécutez ce qui précède["ItemA", 2, "ItemB", 2.5]rends le.
price[3:]
#Lorsque vous exécutez ce qui précède[2.5, "ItemC", 13, "ItemD", 1.15]rends le.
price[:]
#Lorsque vous exécutez ce qui précède["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]Et renvoie la liste complète des prix.

Maintenant, appliquons une petite combinaison de ce que nous avons appris jusqu'à présent. Auparavant, j'ai essayé de faire une liste dans la liste suivante.

price = [["ItemA", 2], ["ItemB", 2.5], ["ItemC", 13], ["ItemD", 1.15]]

Alors, qu'est-ce que vous obtenez en tapant price [1] [-1]? La réponse est la suivante.

price = [["ItemA", 2], ["ItemB", 2.5], ["ItemC", 13], ["ItemD", 1.15]]
price[1][-1]
#Exécuter ce qui précède 2.Renvoie 5.
#Premier prix[1]Est traité. L'élément correspondant à l'index 1 dans la première liste["ItemB", 2.5]
#prochain,[-1]Est traité.["ItemB", 2.5]Le dernier élément de.5
#Donc 2.5 est retourné

3. Modifier / Ajouter / Supprimer la liste

Vous savez maintenant comment créer une liste et comment extraire les données de cette liste. À partir de là, allons plus loin et voyons comment modifier, ajouter et supprimer des données dans la liste. Pour modifier les données de la liste, utilisez les crochets [] comme vous l'avez fait pour le sous-ensemble et écrivez: Nom de la liste [index des données à modifier] = données modifiées </ b> Par exemple, disons que le prix de ItemD dans la liste des prix passe de 1,15 $ à 2 $. Les données de la liste sont incorrectes telles quelles, vous devez donc modifier 1.15 en 2.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
#Liste de prix originale
price[7] = 2
#[]Quand=を使用して、上記のように記すQuand、データが更新される
#Le contenu de la liste mise à jour est["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 2]

Si vous avez beaucoup de pièces à modifier, il peut être difficile de les changer une par une. Dans un tel cas, vous pouvez utiliser les deux points (:) pour spécifier la plage à la fois et la modifier. Dans l'exemple ci-dessous, l'article A est passé à la nouvelle version (article A_2) et le prix est passé de 2 $ à 2,25 $.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
#Liste de prix originale
price[0:2] = ["ItemA_2", 2.25]
#Le contenu de la liste mise à jour est["ItemA_2", 2.25, "ItemB", 2.5, "ItemC", 13, "ItemD", 2]

Maintenant, après avoir modifié les données, comment ajouter / supprimer des données. Au fait, j'ai mentionné la dernière fois que le résultat est différent entre l'ajout de String (chaîne de caractères) et l'ajout d'un entier (valeur numérique). Le traitement de l'ajout diffère en fonction de chaque type de données, mais vous pouvez ajouter plus de listes en ajoutant des données de type liste. À titre de test, ajoutons un nouvel ItemE à 1,25 $ à la liste des prix.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
#Liste de prix originale
price + ["ItemE", 1.25]
#Ajouter une autre liste à la liste de prix
price_ver2 = price + ["ItemE", 1.25]
#De cette façon, vous pouvez également ajouter des données pour créer une nouvelle liste
2.5, "ItemC", 13, "ItemD", 2]

Maintenant, voici comment ajouter des données à la liste. Alors, comment supprimez-vous les données? La suppression est également très simple, utilisez le code del et écrivez: del (nom de la liste [nom de l'index]) </ b> Essayons de supprimer l'élément B de la liste

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
#Liste de prix originale
del(price[2])
#Supprimer les données avec l'index 2 de la liste
#La nouvelle liste est["ItemA", 2, 2.5, "ItemC", 13, "ItemD", 1.15]Devient

Un point à noter est que si vous supprimez les données au milieu de la liste, l'index des données après cela sera également décalé en fonction des données supprimées. Par exemple, dans l'exemple ci-dessus, ItemC avait un index de 4 avant d'être supprimé, mais ItemC a un index de 3 car ItemB de l'index 2 a été supprimé. Donc, si vous exécutez à nouveau del (price [2]), cette fois, l'élément index 2 de la nouvelle liste, 2.5, sera supprimé.

4. Énumérer le principe de fonctionnement

Voici comment fonctionne la liste. C'est un peu conceptuel et plus abstrait, mais c'est important. Maintenant, que se passe-t-il dans les coulisses lorsque vous créez la liste ci-dessous?

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]

En fait, lorsque vous créez une liste, chaque élément n'est pas stocké dans une variable appelée prix. Lorsque vous créez une liste, elle est enregistrée dans la mémoire de votre ordinateur. Et l'adresse de cette liste (où elle se trouve dans la mémoire de votre ordinateur) est stockée dans une variable appelée price. En d'autres termes, le prix (variable) ne stocke pas chaque élément de la liste, mais l'adresse de la liste </ b>. Ce n'est pas très important pour les opérations de base, mais c'est important pour la copie de listes. Prenons un exemple concret. Il stocke la liste des prix dans une nouvelle liste appelée price2 et change ItemB dans la liste de price2 en ItemE.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
price2 = price
price2[2] = "ItemE"
#Index 2 données(ItemB)Vers l'articleE

Eh bien, à ce stade, la liste des prix2 est  ["ItemA", 2, "ItemE", 2.5, "ItemC", 13, "ItemD", 1.15] Il est devenu. C'est parce que ItemB a été changé en ItemE par le prix de fonctionnement2 [2] = "ItemE". Et à l'origine, la liste de prix n'a rien changé, donc la liste de prix est  ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15] Ça devrait être. Cependant, en réalité, le contenu du prix est  ["ItemA", 2, "ItemE", 2.5, "ItemC", 13, "ItemD", 1.15] Il est devenu. Comprenez vous? Le prix et le prix2 sont le contenu ne sont pas les éléments de la liste, mais l'emplacement où la liste est stockée dans la mémoire de l'ordinateur </ b>. En opérant price2 = price, ce qui est stocké dans price2 n'est que l'emplacement de la liste de prix, et si vous modifiez les données de price2, bien sûr, les données de prix elles-mêmes au même endroit seront également modifiées. Il se termine </ b>. Il existe deux variables, prix et prix2, mais une seule liste existe réellement. Alors que faire si vous voulez vraiment créer une autre liste avec les mêmes éléments? Dans ce cas, utilisez la fonction de liste comme suit. Vous pouvez également utiliser [:] pour sélectionner tous les éléments de la liste introduite précédemment pour créer une liste de prix2.

price = ["ItemA", 2, "ItemB", 2.5, "ItemC", 13, "ItemD", 1.15]
price2 = list(price)
#Créer une autre option de liste1
price2 = price[:]
#Créer une autre option de liste1

Si vous faites cela, vous avez créé une autre liste, donc la modification de la liste de prix2 n'affecte pas la liste de prix.

C'est tout pour la liste Python!

Recommended Posts