Ici, je voudrais aborder la structure de données appelée ** tapple ** au lieu de la liste. C'est similaire à une liste, mais j'aimerais comparer un taple avec une liste.
Je voudrais créer un taple immédiatement. Cette fois également, l'opération mourra de la console Python. Entrez le code suivant dans la ** console Python **. Je voudrais expliquer cet élément avec une chaîne de caractères.
>>> T= ('Préfecture d'Ibaraki', 'Préfecture de Tochigi', 'Préfecture de Gunma', 'Saitama', 'Tokyo', 'Préfecture de Chiba', 'Préfecture de Kanagawa')
>>> T
('Préfecture d'Ibaraki', 'Préfecture de Tochigi', 'Préfecture de Gunma', 'Saitama', 'Tokyo', 'Préfecture de Chiba', 'Préfecture de Kanagawa')
Comme vous pouvez le voir en entrant le code ci-dessus, les taples sont créés en utilisant ** () ** au lieu de ** [] **.
Il est possible de récupérer chaque élément du taple et de trouver la longueur de l'élément avec la ** fonction len ** comme indiqué ci-dessous. Vous pouvez voir que c'est la même chose que la liste jusqu'à présent.
>>> T[2]
'Préfecture de Gunma'
>>> T[1:3]
('Préfecture de Tochigi', 'Préfecture de Gunma')
>>> len(T)
7
Vous pouvez omettre ** () ** pour entourer le taple.
>>> tp = 10, 20, 30
>>> tp
(10, 20, 30)
Si vous souhaitez créer un tuple composé d'un élément, assurez-vous de saisir, (virgule) à la fin. Sinon, vous entrez une seule valeur.
>>> tp=10,
>>> tp
(10,)
De plus, dans tapple, vous pouvez attribuer des valeurs à plusieurs variables en même temps.
>>> x, y, z = (100, 200, 300)
>>> x,y,z
(100, 200, 300)
>>> x
100
Lors de l'attribution de valeurs à plusieurs variables, une erreur se produit si le nombre d'éléments n'est pas le même.
Alors, quelle est la différence entre une liste et un taple? Entrez le code suivant dans la ** console Python **. Afficher le contenu de la variable ** T ** une fois, puis exécuter.
>>> T
('Préfecture d'Ibaraki', 'Préfecture de Tochigi', 'Préfecture de Gunma', 'Saitama', 'Tokyo', 'Préfecture de Chiba', 'Préfecture de Kanagawa')
>>> T[1]='AAA'
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
Comme vous pouvez le voir dans le code ci-dessus, vous ne pouvez pas modifier les éléments dans ** Taple. ** ** Vous pouvez également voir que la méthode ne peut pas manipuler la valeur.
>>> T.clear()
Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'clear'
Pour le dire un peu techniquement, une liste peut changer ses éléments, donc on l'appelle une structure de données ** mutable **, et un taple ne peut pas changer la valeur d'un élément, c'est donc une structure de données ** immuable **. Il y a ça.
Vous pourriez donc vous demander si vous n'utiliseriez pas de taple car vous ne pouvez pas changer la valeur d'un élément. Cependant, le fait que cette valeur ne puisse pas être modifiée est souvent utilisé dans la pratique.
Par exemple, dans l'exemple précédent, le nom de la préfecture de la région de Kanto de la préfecture a été remplacé par le taple ** T **, mais ces noms de préfecture sont fondamentalement inchangés. (Il est peu probable que le nom du lieu de la préfecture change.)
S'il est stocké dans une liste, il est possible de modifier accidentellement le nom de l'état. Tapuru est souvent utilisé pour éviter de telles erreurs.
Cette fois, nous avons traité d'une structure de données appelée tapple, mais avez-vous compris la différence avec la liste? Il peut être difficile de voir l'utilisation prévue des tapples lorsque vous les apprenez, mais ce serait bien si vous pouviez comprendre qu'ils sont utilisés lorsque vous ne voulez pas changer la valeur d'un élément.
Recommended Posts