existe-t-il une situation où l'utilisation d'une liste conduit à une erreur et vous devez utiliser un tuple à la place? P>
Je connais quelque chose sur les propriétés des tuples et des listes, mais pas assez pour connaître la réponse à cette question. Si la question serait l'inverse, ce serait que les listes peuvent être ajustées, mais les tuples ne le font pas. P>
3 Réponses :
Vous pouvez utiliser des tuples sous forme de touches de dictionnaire, car elles sont immuables, mais vous ne pouvez pas utiliser de listes. Par exemple:
De même, les ensembles sont mutables mais les congélanges ne sont pas. Donc, si vous avez besoin d'une clé comme clé, vous devez le convertir en gelenget.
En raison de leur nature immuable, des tuples (contrairement aux listes) sont hachable . C'est ce qui permet aux tuples d'être des clés dans les dictionnaires et également des membres des ensembles. Strictement parlant, c'est leur hachabilité, pas leur immuabilité qui compte.
Ainsi, en plus de la réponse clé du dictionnaire déjà donné, deux autres choses qui fonctionneront pour les tuples mais non les listes sont les suivantes: P>
>>> hash((1, 2)) 3713081631934410656 >>> set([(1, 2), (2, 3, 4), (1, 2)]) set([(1, 2), (2, 3, 4)])
dans Formatage des chaînes forts> Les tuples sont obligatoires: à l'aide d'une liste dans cet exemple produit l'erreur "PAS suffisamment d'arguments pour formater une chaîne", car une liste est considéré comme un argument. Bizarre mais vrai. P> p>
duplicaté possible de Stackoverflow.com/questions/1983/...