Maison > Article > développement back-end > Comment trouver une sous-chaîne en Python
Cet article présente principalement les conseils pour trouver des sous-chaînes dans Pythonstring Les amis qui en ont besoin peuvent se référer à
Si on vous demande d'écrire un programme Check. si la chaîne s2 contient s1. Peut-être pouvez-vous écrire intuitivement le code suivant :
#determine whether s1 is a sub stringof s2 def isSubstring1(s1,s2): tag = False len1 = len(s1) len2 = len(s2) for i in range(0,len2): if s2[i] == s1[0]: for j in range(0,len1): if s2[i]==s1[j]: tag = True return tag
Mais c'est Python, nous pouvons utiliser la méthode find() fournie avec les chaînes, nous pouvons donc faire ceci :
def isSubstring2(s1,s2): tag = False if s2.find(s1) != -1: tag = True return tag
Ce qui est triste, c'est qu'il s'avère que le mot-clé "in" en Python peut être utilisé non seulement pour les listes, les primitives et autres types de données, mais aussi pour les chaînes. Donc, vous n'avez besoin que d'une seule ligne de code pour le faire ici :
def isSubstring3(s1,s2): return s1 in s2
Je m'en suis rendu compte avec le recul, et j'ai honte ;-)
De même, supposons que vous souhaitez trouver plusieurs éléments dans une chaîne Vérifiez si la sous-chaîne existe et imprimez la position de ces chaînes et leur première occurrence :
def findSubstrings(substrings,destString): res = map(lambda x:str([destString.index(x),x]),filter(lambda x:x in destString,substrings)) if res: return ', '.join(list(res)) ;-) very cool~
MISE À JOUR : Peu importe si vous ne l'êtes pas habitué à la dernière syntaxe apparemment compliquée, vous pouvez utiliser une analyse de liste, plus concise :
def findSubstrings(substrings,destString): return ', '.join([str([destString.index(x),x]) for x in substrings if x in destString])
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!