J'ai comparé la vitesse de la référence du python dans la liste et la référence de l'inclusion du dictionnaire faite à partir de la liste dans.

introduction

La dernière fois, il a été confirmé dans une expérience que la référence de l'élément dans la liste était très lente par rapport au dictionnaire et au type d'ensemble. http://qiita.com/cof/items/05f6ffc6d4e5b062aaa9 Cependant, la notation d'inclusion de dictionnaire doit être assez rapide. Je me demandais si ce serait explosif si je faisais une inclusion dans un dictionnaire à chaque fois avant d'y faire référence, alors j'ai cherché.

Environnement d'exécution

python2.7 windows7 Intel Core i5 CPU 2.4GHz Mémoire 4,0 Go

Condition d'exécution

Je l'ai vérifié en me référant à 10000 éléments des deux codes suivants et en mesurant l'heure à laquelle il a été exécuté 10 fois. Nombre d'éléments 10000 Élément dans la liste Élément dans {Élément: True pour Élément dans la liste}

Résultat (temps total lors de l'exécution de 10 fois)

Élément de la liste 10.226 Élément dans {Élément: Vrai pour Élément dans la liste} 124.887

Conclusion

Ce n'était pas rapide de faire une inclusion de dictionnaire à chaque fois.

Code expérimental

def in_list(n):
  ls = [i for i in range(n)]
  for i in range(n): i in ls
  
def in_dict(n):
  ls = [i for i in range(n)]
  for i in range(n): i in {i:True for i in ls}

def exe(func,num=100):
  from timeit import timeit
  setup = 'from __main__ import ' + func.split('(')[0]
  print "%s: %s" % (func, timeit(func, setup, number=num))
if __name__=='__main__':
  q = 10**4
  exe('in_list(%d)'%q,10)
  exe('in_dict(%d)'%q,10)

Recommended Posts

J'ai comparé la vitesse de la référence du python dans la liste et la référence de l'inclusion du dictionnaire faite à partir de la liste dans.
J'ai vérifié la vitesse de référence lors de l'utilisation de la liste python, du dictionnaire et du type de jeu.
J'ai mesuré la vitesse de la notation d'inclusion de liste, pendant et pendant avec python2.7.
J'ai comparé la vitesse des expressions régulières en Ruby, Python et Perl (version 2013)
J'ai comparé la vitesse de Hash avec Topaz, Ruby et Python
J'ai remplacé le calcul numérique de Python par Rust et comparé la vitesse
J'ai comparé la vitesse de l'écho du framework web en langage go et du flask du framework web python
Python: créer un dictionnaire à partir d'une liste de clés et de valeurs
[Introduction à Python] J'ai comparé les conventions de nommage de C # et Python.
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Copiez la liste en Python
J'ai comparé "type de dictionnaire python" et "fonction excel"
Comparez la vitesse d'ajout et de carte Python
traitement (python) Diagramme les coordonnées de la liste Spécifiez le nombre de fois dans draw ()
Vitesse de notation d'inclusion de liste en Python
[python] Récupère la liste des classes définies dans le module
J'ai vérifié les versions de Blender et Python
[Python] Affiche toutes les combinaisons d'éléments de la liste
Notation d'inclusion Python3 (liste, dictionnaire) que j'ai vue quelque part
Le concept de référence en Python s'est effondré un instant, j'ai donc expérimenté un peu.
J'ai étudié le temps de calcul de "X dans la liste" (recherche linéaire / recherche dichotomique) et "X dans l'ensemble"
J'ai essayé de comparer la vitesse de traitement avec dplyr de R et pandas de Python
[Python] J'ai essayé de résumer le tableau, la méthode de génération du dictionnaire, la méthode de boucle, la notation d'inclusion de liste
J'ai comparé Java et Python!
En Python, les éléments de la liste sont triés et sortis sous forme d'éléments et de multiples.
Obtenez le nombre d'éléments spécifiques dans la liste python
Ordre de référence des variables de classe et des variables d'instance dans "self. Variables de classe" en Python
[Python] J'ai installé le jeu depuis pip et j'ai essayé de jouer
J'ai essayé de programmer le test du chi carré en Python et Java.
Je veux connaître la nature de Python et pip
Je veux rendre le type de dictionnaire dans la liste unique
[Astuces] Problèmes et solutions dans le développement de python + kivy
J'ai implémenté N-Queen dans différentes langues et mesuré la vitesse
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
Comptez bien le nombre de caractères thaïlandais et arabes en Python
Différence entre list () et [] en Python
J'ai créé un robot Line qui devine le sexe et l'âge d'une personne à partir de l'image
Existence du point de vue de Python
[Python] J'ai expliqué en détail la théorie et la mise en œuvre de la régression logistique
J'ai écrit le code pour écrire le code Brainf * ck en python
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
[Python] J'ai expliqué en détail la théorie et la mise en œuvre de l'arbre de décision
[python] Obtenez le rang des valeurs dans la liste par ordre croissant / décroissant
J'ai comparé Node.js et Python lors de la création d'une miniature à l'aide d'AWS Lambda
J'ai écrit la file d'attente en Python
Partie 1 J'ai écrit la réponse au problème de référence de l'écriture hors ligne en temps réel en Python
Liste des solveurs et modélisateurs de conception linéaire (LP) disponibles en Python
Liste des dépêches en cas de catastrophe du service d'incendie de la ville de Sapporo [Python]
À propos de la liste de base des bases de Python
Obtenez le titre et la date de livraison de Yahoo! News en Python
J'ai écrit la pile en Python
Réputation des livres Python et des livres de référence
Notez que je comprends l'algorithme du classificateur Naive Bayes. Et je l'ai écrit en Python.
Configurer un serveur SMTP factice avec Python et vérifier le fonctionnement de l'envoi depuis Action Mailer
[Python] J'ai analysé le journal d'un homme au cours de sa première année de vie professionnelle et j'ai fait un jugement positif / négatif sur la vie professionnelle.