Comment fonctionne Python sous le capot? À utiliser pour les questions relatives (par exemple) aux décisions de conception prises et aux structures de données internes et aux algorithmes utilisés.
Je m'attendais array.arrayà être plus rapide que les listes, car les tableaux semblent être déballés. Cependant, j'obtiens le résultat suivant: In [1]: import array In [2]: L = list(range(100000000)) In [3]: A = array.array('l', range(100000000)) In [4]: %timeit sum(L) 1 loop, best of 3: 667 ms per loop In [5]: …
Je ne comprends pas comment la boucle sur un dictionnaire ou un ensemble en python est effectuée par ordre `` arbitraire ''. Je veux dire, c'est un langage de programmation donc tout dans le langage doit être déterminé à 100%, n'est-ce pas? Python doit avoir une sorte d'algorithme qui décide …
Remarque: cette question est à titre informatif uniquement. Je suis intéressé de voir à quel point il est possible d'approfondir les composants internes de Python. Il n'y a pas très longtemps, une discussion a commencé à l'intérieur d'une certaine question concernant la question de savoir si les chaînes passées aux …
Existe-t-il un moyen de voir comment les fonctions intégrées fonctionnent en python? Je ne veux pas dire simplement comment les utiliser, mais aussi comment ont-ils été construits, quel est le code derrière trié ou énuméré, etc.?
Apparemment, list(a)ne sur-utilise pas, sur- [x for x in a]utilise à certains moments et sur- [*a]utilise tout le temps ? Voici les tailles n de 0 à 12 et les tailles résultantes en octets pour les trois méthodes: 0 56 56 56 1 64 88 88 2 72 88 96 …
Je jouais avec timeit et j'ai remarqué que faire une simple compréhension de liste sur une petite chaîne prenait plus de temps que de faire la même opération sur une liste de petites chaînes de caractères uniques. Une explication? C'est presque 1,35 fois plus de temps. >>> from timeit import …
J'essayais de supprimer les caractères indésirables d'une chaîne donnée en utilisant text.translate()Python 3.4. Le code minimal est: import sys s = 'abcde12345@#@$#%$' mapper = dict.fromkeys(i for i in range(sys.maxunicode) if chr(i) in '@#$') print(s.translate(mapper)) Cela fonctionne comme prévu. Cependant, le même programme lorsqu'il est exécuté en Python 3.4 et Python …
Existe-t-il une différence ultime entre les deux extraits de code suivants? Le premier attribue une valeur à une variable dans une fonction, puis renvoie cette variable. La deuxième fonction renvoie simplement la valeur directement. Python les transforme-t-il en bytecode équivalent? L'un d'eux est-il plus rapide? Cas 1 : def func(): …
A tupleprend moins d'espace mémoire en Python: >>> a = (1,2,3) >>> a.__sizeof__() 48 alors que lists prend plus d'espace mémoire: >>> b = [1,2,3] >>> b.__sizeof__() 64 Que se passe-t-il en interne sur la gestion de la mémoire Python?
Je comprends la différence entre copyet deepcopydans le module de copie. J'ai utilisé copy.copyet copy.deepcopyavant avec succès, mais c'est la première fois que je surcharge les méthodes __copy__et __deepcopy__. Je l' ai déjà googlé autour et regardé à travers le haut-modules Python pour rechercher des instances du __copy__et des __deepcopy__fonctions …
J'ai joué avec la fonction de hachage de Python . Pour les petits entiers, il apparaît hash(n) == ntoujours. Cependant, cela ne s'étend pas aux grands nombres: >>> hash(2**100) == 2**100 False Je ne suis pas surpris, je comprends que le hachage prend une plage finie de valeurs. Quelle est …
Étant donné la réponse de Zero Piraeus à une autre question , nous avons cela x = tuple(set([1, "a", "b", "c", "z", "f"])) y = tuple(set(["a", "b", "c", "z", "f", 1])) print(x == y) Imprime Trueenviron 85% du temps avec la randomisation de hachage activée. Pourquoi 85%?
J'ai trouvé que maxc'est plus lent que la sortfonction en Python 2 et 3. Python 2 $ python -m timeit -s 'import random;a=range(10000);random.shuffle(a)' 'a.sort();a[-1]' 1000 loops, best of 3: 239 usec per loop $ python -m timeit -s 'import random;a=range(10000);random.shuffle(a)' 'max(a)' 1000 loops, best of 3: 342 usec per loop …
Je comprends que les fichiers ".pyc" sont des versions compilées des fichiers ".py" en texte brut, créés au moment de l'exécution pour accélérer l'exécution des programmes. Cependant, j'ai observé quelques choses: Lors de la modification des fichiers "py", le comportement du programme change. Cela indique que les fichiers "py" sont …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.