Split metode
Metoden “split ()” kan bruges til at opdele ord ved hjælp af en brugerdefineret separator. Det returnerer en liste over splittede ord uden at medtage separatoren. Hvis der ikke er angivet nogen separator af brugeren, bruges mellemrum (en eller flere) som en enkelt separator.
For eksempel returnerer koden nedenfor “['Linux', 'Hint']" som output:
text = "Linux-tip"tekst.dele()
Koden nedenfor returnerer “['LinuxHint', 'com']” som output, når “.”Bruges som separator:
text = "LinuxHint.com "tekst.dele(".”)
Separatoren behøver ikke at være et enkelt tegn. Opdelingsmetoden tager to argumenter:
- sep: separator, der skal bruges til opdeling
- maxsplit: antal split, der skal udføres
Begge disse argumenter er valgfri. Som nævnt ovenfor, hvis "sep" -argumentet ikke er specificeret, bruges mellemrum som separator til opdeling. Argumentet “maxsplit” har en standardværdi på “-1”, og det opdeler alle forekomster som standard. Overvej koden nedenfor:
text = "LinuxHint.co.os"tekst.dele(".”)
Det returnerer “['LinuxHint', 'co', 'os']" som output. Hvis du vil stoppe opdeling ved den første forekomst af separatoren, skal du angive "1" som "maxsplit" -argumentet.
text = "LinuxHint.co.os"tekst.dele(".”, 1)
Koden ovenfor returnerer “['LinuxHint', 'co.os '] ”som output. Angiv bare antallet af forekomster, hvor splitprocessen skal stoppes som det andet argument.
Bemærk, at hvis der er fortløbende separatorer, returneres en tom streng for de resterende separatorer efter den første split (når "maxsplit" -argumentet ikke bruges):
text = "LinuxHint ... com"tekst.dele(".")
Koden ovenfor returnerer “['LinuxHint',”, 'com'] ”som output. Hvis du vil fjerne tomme strenge fra den resulterende liste, kan du bruge følgende erklæring om listeforståelse:
text = "LinuxHint ... com"resultat = tekst.dele(".")
resultat = [vare for vare i resultat, hvis vare != ""]
print (resultat)
Du får "['LinuxHint', 'com']" som output efter at have kørt ovenstående kodeeksempel.
Bemærk, at "split ()" -metoden flytter fra venstre til højre for at opdele strenge i ord. Hvis du vil opdele streng fra højre til venstre retning, skal du bruge “rsplit ()” i stedet. Dens syntaks, brug og argumenter er nøjagtigt de samme som "split ()" -metoden.
Hvis der ikke findes nogen separator i strengen, mens du bruger "split ()" eller "rsplit ()" -metoder, returneres den originale streng som det eneste listeelement.
Opdelingsmetode
Metoden "partition ()" kan bruges til at dele strenge, og den fungerer identisk med "split ()" -metoden med nogle forskelle. Den mest bemærkelsesværdige forskel er, at den bevarer separatoren og inkluderer den som et element i den resulterende tuple, der indeholder splittede ord. Dette er især nyttigt, hvis du vil opdele strengen i et iterabelt objekt (i dette tilfælde dobbelt) uden at fjerne originale tegn. Overvej koden nedenfor:
text = "LinuxHint.com "resultat = tekst.skillevæg(".")
print (resultat)
Ovenstående kodeeksempel returnerer “('LinuxHint', '.',' com ') ”som output. Hvis du vil have, at resultatet skal være af listetype, skal du bruge følgende kodeeksempel i stedet:
text = "LinuxHint.com "resultat = liste (tekst.skillevæg("."))
print (resultat)
Du skulle få “['LinuxHint', '.',' com '] ”som output efter kørsel af ovenstående kodeeksempel.
Metoden "partition ()" tager kun et argument kaldet "sep". Brugere kan angive en separator af enhver længde. I modsætning til "split ()" -metoden er dette argument obligatorisk, så du kan ikke udelade separatoren. Du kan dog angive mellemrum som en separator.
Bemærk, at partitionsmetoden stopper ved den første forekomst af separatoren. Så hvis din streng indeholder flere separatorer, ignorerer "partition ()" -metoden alle andre forekomster. Her er et eksempel, der illustrerer dette:
text = "LinuxHint.co.os"resultat = liste (tekst.skillevæg("."))
print (resultat)
Kodeprøven producerer “['LinuxHint', '.',' co.os '] ”som output. Hvis du ønsker at opdele i alle tilfælde af separatoren og også inkludere separatoren i den endelige liste, skal du muligvis bruge et "Regular Expression" eller "RegEx" mønster. For eksemplet nævnt ovenfor kan du bruge et RegEx-mønster på følgende måde:
import gentext = "LinuxHint.co.os"
resultat = re.dele("(\.) ", tekst)
print (resultat)
Du får “['LinuxHint', '.',' co ','.',' os '] ”som output efter udførelse af ovenstående kodeeksempel. Priktegnet er undsluppet i RegEx-erklæringen nævnt ovenfor. Bemærk, at mens eksemplet ovenfor fungerer med et enkelt priktegn, fungerer det muligvis ikke med komplekse separatorer og komplekse strenge. Du bliver muligvis nødt til at definere dit eget RegEx-mønster afhængigt af din brugssag. Eksemplet er netop nævnt her for at give dig en ide om processen med at beholde separatoren i den endelige liste ved hjælp af RegEx-udsagn.
Metoden "partition ()" kan undertiden efterlade tomme strenge, især når separatoren ikke findes i strengen, der skal opdeles. I sådanne tilfælde kan du bruge listeforståelseserklæringer til at fjerne tomme strenge som forklaret i afsnittet "split ()" -metoden ovenfor.
text = "LinuxHint"resultat = liste (tekst.skillevæg("."))
resultat = [vare for vare i resultat, hvis vare != ""]
print (resultat)
Efter at have kørt ovenstående kode, skal du få “['LinuxHint']” som output.
Konklusion
For enkle og ligetil opdelinger kan du bruge "split ()" og "partition ()" metoder til at få iterable typer. For komplekse strenge og separatorer skal du bruge RegEx-sætninger.