pourquoi avons-nous même TUPLES?

Feb 24 2023
J'ai commencé à travailler avec Python il y a 3 ans, tout en entreprenant une étude approfondie de divers supports de cours, y compris les types de données, les types de classe, etc. c'est même une chose? Pour être honnête, j'ai à peine utilisé des tuples dans mes projets et je n'ai jamais compris le fait qu'il pourrait avoir un cas d'utilisation meilleur que les listes (qui font à peu près la même chose) Je n'y ai même pas pensé et trouvé le bon cas d'utilisation pour cela JUSQU'À MAINTENANT !! Je suis tombé sur une vidéo de l'une de mes chaînes Youtube préférées NetworkChuck (assurez-vous de vous abonner, il est incroyable ❤️) sur Tuples. Il avait la même question que moi ou peut-être que mon subconscient l'avait fait.

J'ai commencé à travailler avec Python il y a 3 ans, tout en entreprenant une étude approfondie de divers supports de cours, y compris des types de données, des types de classe , etc. c'est même une chose?

Pour être honnête, j'ai à peine utilisé des tuples dans mes projets et je n'ai jamais compris le fait qu'il pourrait avoir un cas d'utilisation meilleur que les listes (qui font à peu près la même chose) Je n'y ai même pas pensé et trouvé le bon cas d'utilisation pour cela

JUSQU'ICI!!

Je suis tombé sur une vidéo de l'une de mes chaînes Youtube préférées NetworkChuck (assurez-vous de vous abonner, il est incroyable ❤️) sur Tuples. Il avait la même question que moi ou peut-être que mon subconscient l'avait fait. quel est le besoin de tuples quand nous avons déjà des listes ?

Bien sûr, nous savons que [ liste ] va entre crochets et ( tuples ) va entre crochets mais quoi d'autre ? Je veux dire regardez l'image, nous pouvons avoir les chaînes et les entiers de la même manière que dans la liste.

Imprimé le type des deux types de données

En quoi les tuples sont-ils différents des listes ?

Pourquoi avons-nous besoin de tuples ?

Pourquoi existe-t-il même ?

Répondons à toutes les questions et mettons ça au lit !

Immutabilité

Comme l'a dit Chuck Immutable est juste un mot fantaisiste pour non modifiable

Immuable == non modifiable

modifiable == modifiable

( TUPLES ) sont immuables, ce qui signifie que vous ne pouvez pas modifier les données entre ces crochets, par contre [ LISTS ] sont modifiables et les données peuvent être modifiées entre ces crochets

Essayons de changer la valeur dans une liste car elles sont MUTABLES

lists = ["Shivam", "Vasudeva",10]
lists = ["Shivam", "Vasudeva",10]
print("Before changing-- ",lists)
lists[2] = 14
print("After changing-- ", lists)
Before changing--  ['Shivam', 'Vasudeva', 10]
After changing--  ['Shivam', 'Vasudeva', 14]

tups = ("Shivam", "Vasudeva",10)
print("Before changing-- ",tups)
tups[2] = 14
print("After changing-- ",tups)

Maintenant, la question est de savoir comment cela aide-t-il? Comment améliore-t-il notre code ?

Avoir une fonctionnalité de moins que LIST rend TUPLES meilleur ? Comment cela peut-il avoir un sens?

Rapidité ️

Le fait que les tuples soient immuables les rend plus rapides que les listes.

Chuck, dans sa vidéo, a fait un petit test pour voir à quelle vitesse les tuples sont. Il a exécuté un petit code sur les tuples et les listes pour capturer le temps pris par les deux types de données pour donner les résultats

import timeit
#SPEED TEST
#Lists
print("List = ",timeit.timeit(stmt= '["Toronto", "Calgary","Montreal", "Vancouver", 647, 416, 437]', number=100000000))

#tuples 
print("Tuples = ",timeit.timeit(stmt= '("Toronto", "Calgary","Montreal", "Vancouver", 647, 416, 437)', number=100000000))

La liste a pris 10 fois plus que TUPLES. N'est-ce pas FOU ?

Ce type de vitesse n'aura pas d'importance à petite échelle, mais pour les calculs élevés où la vitesse est un facteur énorme, un tuple peut faire une grande différence.

Eh bien, il y a une explication simple à cette différence de vitesse.

Les listes sont modifiables , nous pouvons les modifier et pour la même raison, elles sont stockées dans 2 blocs de mémoire alors que les TUPLES ne sont stockés que dans 1 bloc de mémoire en raison de leur IMMUTABILITÉ

Tout cela semble fantaisiste, mais vous n'êtes peut-être toujours pas convaincu de la raison pour laquelle nous avons BESOIN d'utiliser des tuples‼️

Type de données

Selon Stack Overflow, même si [listes] peuvent avoir différents types de types de données dans une liste, cela n'est pas considéré comme une bonne pratique.

L'utilisation correcte des listes consiste à avoir un type de données HOMOGÈNE , ce qui signifie qu'une liste doit avoir le même type de données.

#List Homogenous data
["Toronto", "Calgary", "Montreal", "Vancouver"]
#String is the only datatype

#Heterogeneous Data 
[("Toronto", 647, "Dundas"), ("Calgary", 587, "Ravenstern")]
#String and integers

Vous n'avez même pas besoin de ( ) pour créer un tuple. Cela semble stupide, n'est-ce pas ? Regardez le code ci-dessous, je n'ai pas mis de parenthèses et imprimé le type de classe auquel il appartient.

canada = "Toronto", "Calgary","Montreal"
print(type(canada))

      
                
Result of executing of code above

canada = "Toronto",
print(type(canada))

Faites-moi savoir dans les commentaires si vous le saviez ou si vous savez des choses plus étranges que les tuples peuvent faire.

Continue d'apprendre!!