Quel est L'équivalent Python 3 de find ()?

Je travaille sur le didacticiel ouvert du MIT pour python mais j'ai du mal avec l'exemple suivant:

Pour commencer, nous allons utiliser certaines fonctions Python intégrées. Pour utiliser ces fonctions, incluez l'instruction à partir de l'importation de chaîne * au début de votre fichier. Cela vous permettra d'utiliser des fonctions de chaîne Python. En particulier, si vous voulez trouver le point de départ de la première correspondance d'une clé de chaîne de mots clés dans une cible de chaîne cible, vous pouvez utilisez la fonction thefind. Essayez de courir sur quelques exemples, tels que find ("atgacatgcacaagtatgcat", " atgc") Notez comment il renvoie l'index de la première occurrence de la clé dans la cible. Notez également que si aucune instance de la clé n'existe dans la cible, par exemple, find ("atgacatgcacaagtatgcat", "ggcc"), elle renvoie la valeur -1.

Le cours en Python 2.4 (ou plus) mais j'essaie de faire les devoirs en Py3.. apprendre les différences en cours de route.

22
demandé sur agf 2011-07-11 02:10:40

3 réponses

Utilisez la méthode .find() d'une chaîne plutôt que string.find(). (Cela fonctionne aussi, et est probablement préférable, en python 2).

28
répondu Wooble 2011-07-10 22:14:36

N'est-ce pas encore juste find? De la documentation :

str.find(sub[, start[, end]])

Renvoie l'index le plus bas de la chaîne où la sous-chaîne de sous, cette ce sous est contenu dans la tranche s[début:fin]. Arguments optionnels start et end sont interprétés comme dans slice notation. Retour -1 si sub n'est pas trouver.

9
répondu Neil G 2011-07-10 22:14:04
str = "Python"

En Python2:

string.find(str,"y")

En Python3:

str.find("y")
3
répondu Anubhav 2017-01-05 19:25:50