2009-02-09 15 views
0

Fondamentalement, je stocke des millions de valeurs vectorielles3 dans une liste. Mais maintenant les vecteurs3 sont définis comme tels:D'énormes collections en Python

[5,6,7] 

qui je crois est une liste. Les valeurs ne seront pas modifiées et je n'ai besoin d'aucune fonctionnalité de vector3.

Est-ce la façon la plus efficace de le faire?

Répondre

13

Si vous stockez des millions d'entre eux, le meilleur moyen (à la fois pour la vitesse et l'utilisation de la mémoire) est d'utiliser numpy.

Si vous voulez éviter le chiffrement et n'utiliser que des modules python intégrés, l'utilisation de tuples au lieu de listes vous évitera des frais supplémentaires.

+2

Ahem. Si vous n'utilisez pas numpy, utilisez le module 'array'. – u0b34a0f6ae

4

Traditionnellement, vous le profil de votre code , trouvez des goulets d'étranglement et traitez-les au besoin. La réponse est "Non, ce n'est probablement pas la façon la plus performante" mais est-ce vraiment important? Cela pourrait faire, et quand c'est le cas, il peut être réparé.