Maison > développement back-end > Tutoriel Python > Comment trouver une sous-chaîne en Python

Comment trouver une sous-chaîne en Python

伊谢尔伦
Libérer: 2017-06-28 13:27:01
original
1701 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion


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
Copier après la connexion


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~
Copier après la connexion


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])
Copier après la connexion


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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal