Question

J'ai lu sur les similitudes entre la liste Python et le vecteur C ++ et il semble que la seule différence soit la liste de Python est hétérogène.Y-a-t'il d'autres différences?Comment sont-ils tous deux mis en œuvre?

Était-ce utile?

La solution

Liste Python et vecteur C ++ sont implémentés comme des tableaux dynamiques ( https://fr.wikipedia.org/ wiki / dynamic_array ). (Les matrices essentiellement réaffectées sont réaffectées quand elles sont trop petites.) Maintenant, la différence importante entre la version Python et C ++ ne provient pas des structures de données elles-mêmes, mais plutôt de la langue.En C ++, vous pouvez stocker des structures, des indications de type de données primitives, etc. dans un vecteur.Mais à Python, tout est un pointeur dans le sens où un par exemple.Un entier est stocké dans le tas et il a une annotation qui dit «je suis un entier».C'est nécessaire car Python a un système de type dynamique.Et les éléments stockés dans la liste ne sont que des pointeurs sur les éléments réels.Ce mécanisme permet également à Python de stocker différents types de données dans la même liste.C'est une autre raison pour laquelle Python est un peu lent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top