Je me demandais si la méthode 'find' sur les chaînes était implémentée avec une recherche linéaire, ou si python faisait quelque chose de plus sophistiqué. La documentation Python ne traite pas des détails d'implémentation, donc http://docs.python.org/library/stdtypes.html ne sert à rien. Quelqu'un pourrait-il me diriger vers le code source pertinent?Comment string.find est-il implémenté dans CPython?
8
A
Répondre
16
4
Vous devriez être capable de le trouver dans les objets/stringlib/find.h, bien que le code réel est en fastsearch.h.
1
On dirait que l'algorithme utilisé provient de Boyer-Moore-Horspool algorithm
Questions connexes
- 1. Structures internes de CPython
- 2. Comment est ** implémenté en Python?
- 3. Comment OpenID est-il implémenté?
- 4. Comment "View Count" est le mieux implémenté?
- 5. Comment l'héritage peut-il être implémenté dans C#?
- 6. Comment IDisposable est-il implémenté sur FileStream dans .Net 1.1
- 7. Radix Sort implémenté en C++
- 8. Comment le javascript côté serveur est-il utilisé/implémenté?
- 9. dans quelle langue cybersyn/cyberstride a-t-il été implémenté?
- 10. Comment appeler des objets et des fonctions java à partir de CPython?
- 11. Impossible de voir l'erreur "Doit être implémenté"
- 12. Comment obtenir une référence au module dans lequel quelque chose est implémenté depuis cette implémentation?
- 13. Comment avez-vous implémenté un ui Cover Flow dans le navigateur Web?
- 14. Comment setTimeout est-il implémenté dans les interpréteurs javascript ou les timers en général?
- 15. Ai-je implémenté une application n-tier avec MVC correctement?
- 16. Quel est le modèle de conception implémenté par PEAR DB_DataObject?
- 17. Delphi - Surveiller les changements de fichiers dans les répertoires - implémenté dans JCL?
- 18. Avec quel framework GUI est le Mono .NET Windows.Forms implémenté?
- 19. Comment le script de chargement de ce site est-il implémenté?
- 20. Comment puis-je voir les informations que mon POST (C# implémenté) envoie?
- 21. Comment pourrait être implémenté Singleton, qui remplit ses valeurs de db en C#?
- 22. Où puis-je trouver un document expliquant comment Objective-C est implémenté
- 23. Quelle (s) technologie (s) et langage (s) Microsoft Navison a-t-il implémenté avec/dans?
- 24. How-to: court-circuiter l'opérateur ternaire inversé implémenté dans, par ex. C#? Est-ce que ça importe?
- 25. Existe-t-il quelque chose comme Project Sprouts mais implémenté en Python?
- 26. Comment faire pour installer Satchmo dans Windows?
- 27. Comment faire pour que jQuery intellisense fonctionne si vous avez implémenté une extension Url Helper pour obtenir l'URL de vos fichiers script?
- 28. Est-ce que c'est vraiment OK de fermer/jeter des objets dans __del__?
- 29. Motif Correspondance avec le module de chaîne de Lua
- 30. Comment stockez-vous la démarcation en utilisant WMD dans ASP.NET?
lien mort. quelqu'un pourrait-il le mettre à jour? – TheTrowser