Python : quelle est la différence entre (1,2,3) et [1,2,3], et quand dois-je les utiliser ?

Dans de nombreux endroits, (1,2,3) et [1,2,3] peuvent être utilisés de manière interchangeable.

Quand dois-je utiliser l'un ou l'autre, et pourquoi ?

请先 登录 后评论

5 réponses

sparkes

La liste [1,2,3] est dynamique et flexible, mais cette flexibilité a un coût de rapidité.

Le tuple (1,2,3) est fixe (immuable) et donc plus rapide.

请先 登录 后评论
HS.

Les tuples sont un moyen rapideflexible de créer des types de données composites. Les listes sont des conteneurs pour, eh bien, des listes d'objets.

Par exemple, vous utiliseriez une liste pour stocker une liste de détails sur les étudiants d'une classe.

Chaque détail d'étudiant dans cette liste peut être un triplet contenant son numéro de rôle, son nom et sa note au test.

`[(1,'Mark',86),(2,'John',34)...]`

De plus, comme les tuples sont immuables, ils peuvent être utilisés comme clés dans les dictionnaires.

请先 登录 后评论
JSN

Comme d'autres l'ont mentionné, les listes et les tuples sont tous deux des conteneurs qui peuvent être utilisés pour stocker des objets python. Les listes sont extensibles et leur contenu peut changer par affectation, par contre les tuples sont immuables.

De plus, les listes ne peuvent pas être utilisées comme clés dans un dictionnaire alors que les tuples le peuvent.

请先 登录 后评论
Michael Neale

Si vous pouvez trouver une solution qui fonctionne avec les tuples, utilisez-les, car cela force l'immuabilité, ce qui vous conduit sur une voie plus fonctionnelle. Vous ne regrettez presque jamais d'avoir emprunté la voie fonctionnelle/immuable.

请先 登录 后评论
cnu

Chaque fois que j'ai besoin de transmettre une collection d'éléments à une fonction, si je veux que la fonction ne modifie pas les valeurs transmises, j'utilise des tuples.

Sinon, si je veux avoir la fonction pour modifier les valeurs, j'utilise list.

Toujours si vous utilisez des bibliothèques externes et que vous devez transmettre une liste de valeurs à une fonction et que vous n'êtes pas sûr de l'intégrité des données, utilisez un tuple.

请先 登录 后评论