logo

Python sträng

En sträng är en datastruktur i Python-programmering som representerar en sekvens av tecken. Det är en oföränderlig datatyp, vilket innebär att när du väl har skapat en sträng kan du inte ändra den. Python String används flitigt i många olika applikationer, som att lagra och manipulera textdata, representera namn, adresser och andra typer av data som kan representeras som text.

Innehållsförteckning

Vad är en sträng i Python?

Pytonorm Programmering har ingen teckendatatyp, ett enda tecken är helt enkelt en sträng med längden 1. Låt oss se Python-strängsyntax :



jordnöt vs jordnöt

Syntax för strängdatatyp i Python

string_variable = 'Hello, world!'>

Exempel på strängdatatyp i Python

Pytonorm
string_0 = 'A Computer Science portal for geeks' print(string_0) print(type(string_0))>

Produktion:

A Computer Science portal for geeks>

Skapa en sträng i Python

Strängar i Python kan skapas med enkla citattecken eller dubbla citattecken eller till och med tredubbla citattecken. Låt oss se hur vi kan definiera en sträng i Python eller hur man skriver sträng i Python.

Exempel:

I det här exemplet kommer vi att visa olika sätt att skapa en Python-sträng. Vi kommer att skapa en sträng med enkla citattecken (' '), dubbla citattecken ( ) och tredubbla citattecken ( ). De tre citattecken kan användas för att deklarera flerradssträngar i Python.

Pytonorm
# Creating a String # with single Quotes String1 = 'Welcome to the Geeks World' print('String with the use of Single Quotes: ') print(String1) # Creating a String # with double Quotes String1 = 'I'm a Geek' print('
String with the use of Double Quotes: ') print(String1) # Creating a String # with triple Quotes String1 = '''I'm a Geek and I live in a world of 'Geeks'''' print('
String with the use of Triple Quotes: ') print(String1) # Creating String with triple # Quotes allows multiple lines String1 = '''Geeks  For  Life''' print('
Creating a multiline String: ') print(String1)>

Produktion:

String with the use of Single Quotes: Welcome to the Geeks World String with the use of Double Quotes: I'm a Geek String with the use of Triple Quotes: I'm a Geek and I live in a world of 'Geeks' Creating a multiline String: Geeks For Life>

Åtkomst till tecken i Python String

I Python-programmeringstutorials kan enskilda tecken i en sträng nås genom att använda metoden för indexering. Indexering tillåter negativa adressreferenser för att komma åt tecken från baksidan av strängen, t.ex. -1 hänvisar till det sista tecknet, -2 hänvisar till det näst sista tecknet och så vidare.

Medan åtkomst till ett index utanför intervallet kommer att orsaka en IndexError . Endast heltal tillåts skickas som ett index, float eller andra typer som orsakar en Skrivfel .

Python String indexering

Python String-syntaxindexering

Python String Positiv Indexing

I det här exemplet kommer vi att definiera en sträng i Python-programmering och komma åt dess tecken med hjälp av positiv indexering. Det 0:e elementet kommer att vara det första tecknet i strängen.

Pytonorm
String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing First character print('First character of String is: ', String1[0])>

Produktion:

Initial String: GeeksForGeeks First character of String is: G>

Python String Negativ Indexering

I det här exemplet kommer vi att komma åt dess tecken med negativ indexering. Det -3:e elementet är det tredje sista tecknet i strängen.

Pytonorm
String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing Last character print('Last character of String is: ', String1[-3])>

Produktion

Initial String: GeeksForGeeks Last character of String is: e>

String Slicing Python

I Python-programmeringstutorials, Strängskiva metod används för att komma åt ett antal tecken i strängen. Slicing in a String görs med hjälp av en Slicing-operator, d.v.s. ett kolon (:). En sak att tänka på när du använder den här metoden är att strängen som returneras efter skivning inkluderar tecknet i startindexet men inte tecknet vid det sista indexet.

I det här exemplet kommer vi att använda strängdelningsmetoden för att extrahera en delsträng av den ursprungliga strängen. [3:12] indikerar att skärningen av strängen kommer att börja från det 3:e indexet av strängen till det 12:e indexet (12:e tecknet ingår inte). Vi kan också använda negativ indexering vid skärning av strängar.

Pytonorm
# Creating a String String1 = 'GeeksForGeeks' print('Initial String: ') print(String1) # Printing 3rd to 12th character print('
Slicing characters from 3-12: ') print(String1[3:12]) # Printing characters between # 3rd and 2nd last character print('
Slicing characters between ' + '3rd and 2nd last character: ') print(String1[3:-2])>

Produktion:

Initial String: GeeksForGeeks Slicing characters from 3-12: ksForGeek Slicing characters between 3rd and 2nd last character: ksForGee>

Python-sträng omvänd

I Python-programmeringstutorials, genom att komma åt tecken från en sträng, kan vi också omvända strängar i Python Programmering. Vi kan vända en sträng genom att använda String-slicing-metoden.

I det här exemplet kommer vi att vända en sträng genom att komma åt indexet. Vi specificerade inte de två första delarna av segmentet vilket indikerar att vi överväger hela strängen, från startindexet till det sista indexet.

Pytonorm
#Program to reverse a string gfg = 'geeksforgeeks' print(gfg[::-1])>

Produktion:

skeegrofskeeg>

BuildIn omvänd funktion i Python

Vi kan också vända en sträng genom att använda inbyggd Ansluta sig och omvänt funktioner och skicka strängen som parameter till reversed()-funktionen.

Pytonorm
# Program to reverse a string gfg = 'geeksforgeeks' # Reverse the string using reversed and join function gfg = ''.join(reversed(gfg)) print(gfg)>

Produktion:

skeegrofskeeg>

Ta bort/uppdatera från en sträng

I Python är uppdatering eller radering av tecken från en sträng inte tillåten. Detta kommer att orsaka ett fel eftersom objekttilldelning eller radering av objekt från en sträng inte stöds. Även om det är möjligt att radera hela strängen med hjälp av ett inbyggt del-nyckelord. Detta beror på att strängar är oföränderliga, varför element i en sträng inte kan ändras när de väl har tilldelats. Endast nya strängar kan omtilldelas till samma namn.

Uppdatera en karaktär

Ett tecken i en sträng kan uppdateras i Python genom att först konvertera strängen till en Python lista och sedan uppdatera elementet i listan. Eftersom listor är föränderliga till sin natur kan vi uppdatera tecknet och sedan konvertera listan tillbaka till strängen.

En annan metod är att använda strängskivningsmetoden. Skiva strängen före tecknet du vill uppdatera, lägg sedan till det nya tecknet och lägg slutligen till den andra delen av strängen igen genom att strängskiva.

Exempel:

I det här exemplet använder vi både listan och strängskärningsmetoden för att uppdatera ett tecken. Vi konverterade String1 till en lista, ändrar dess värde vid ett visst element och konverterade sedan tillbaka det till en sträng med Python string join() metod.

I strängdelningsmetoden delade vi upp strängen till det tecken vi vill uppdatera, sammanfogade det nya tecknet och sammanfogade slutligen den återstående delen av strängen.

Pytonorm
# Python Program to Update # character of a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Updating a character of the String ## As python strings are immutable, they don't support item updation directly ### there are following two ways #1 list1 = list(String1) list1[2] = 'p' String2 = ''.join(list1) print('
Updating character at 2nd Index: ') print(String2) #2 String3 = String1[0:2] + 'p' + String1[3:] print(String3)>

Produktion:

Initial String: Hello, I'm a Geek Updating character at 2nd Index: Heplo, I'm a Geek Heplo, I'm a Geek>

Uppdaterar hela strängen

I Python-programmering, eftersom Python-strängar är oföränderliga till sin natur, kan vi inte uppdatera den befintliga strängen. Vi kan bara tilldela variabeln med samma namn ett helt nytt värde.

Exempel: I det här exemplet tilldelar vi först ett värde till 'String1' och uppdaterade det sedan genom att tilldela det ett helt annat värde. Vi ändrade helt enkelt dess referens.

Pytonorm
# Python Program to Update # entire String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Updating a String String1 = 'Welcome to the Geek World' print('
Updated String: ') print(String1)>

Produktion:

Initial String: Hello, I'm a Geek Updated String: Welcome to the Geek World>

Ta bort ett tecken

Python-strängar är oföränderliga, det betyder att vi inte kan ta bort ett tecken från det. När vi försöker ta bort tecknet med hjälp av av nyckelord, kommer det att generera ett fel.

Pytonorm
# Python Program to delete # character of a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) print('Deleting character at 2nd Index: ') del String1[2] print(String1)>

Produktion:

Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Traceback (most recent call last): File 'e:GFGPython codesCodesdemo.py', line 9, in del String1[2] TypeError: 'str' object doesn't support item deletion>

Men genom att använda slicing kan vi ta bort tecknet från den ursprungliga strängen och lagra resultatet i en ny sträng.

Exempel: I det här exemplet kommer vi först att dela upp strängen till det tecken som vi vill ta bort och sedan sammanfoga den återstående strängen efter det borttagna tecknet.

Pytonorm
# Python Program to Delete # characters from a String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Deleting a character # of the String String2 = String1[0:2] + String1[3:] print('
Deleting character at 2nd Index: ') print(String2)>

Produktion:

Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Helo, I'm a Geek>

Ta bort hela strängen

I Python-programmering är det möjligt att ta bort hela strängen med hjälp av nyckelordet del. Vidare, om vi försöker skriva ut strängen kommer detta att ge ett fel eftersom strängen raderas och inte går att skriva ut.

Pytonorm
# Python Program to Delete # entire String String1 = 'Hello, I'm a Geek' print('Initial String: ') print(String1) # Deleting a String # with the use of del del String1 print('
Deleting entire String: ') print(String1)>

Fel:

Traceback (most recent call last): File '/home/e4b8f2170f140da99d2fe57d9d8c6a94.py', line 12, in print(String1) NameError: name 'String1' is not defined>

Escape Sequencing i Python

Medan du skriver ut strängar med enkla och dubbla citattecken i det orsakar Syntaxfel eftersom String redan innehåller enkla och dubbla citattecken och därför inte kan skrivas ut med någon av dessa. För att skriva ut en sådan sträng används därför antingen trippelcitattecken eller Escape-sekvenser för att skriva ut strängar.

Escape-sekvenser börjar med ett snedstreck och kan tolkas olika. Om enstaka citattecken används för att representera en sträng, måste alla enkla citattecken som finns i strängen escapes och samma sak görs för dubbla citattecken.

Pytonorm
# Initial String String1 = '''I'm a 'Geek'''' print('Initial String with use of Triple Quotes: ') print(String1) # Escaping Single Quote String1 = 'I'm a 'Geek'' print('
Escaping Single Quote: ') print(String1) # Escaping Double Quotes String1 = 'I'm a 'Geek'' print('
Escaping Double Quotes: ') print(String1) # Printing Paths with the # use of Escape Sequences String1 = 'C:PythonGeeks' print('
Escaping Backslashes: ') print(String1) # Printing Paths with the # use of Tab String1 = 'Hi	Geeks' print('
Tab: ') print(String1) # Printing Paths with the # use of New Line String1 = 'Python
Geeks' print('
New Line: ') print(String1)>

Produktion:

Initial String with use of Triple Quotes: I'm a 'Geek' Escaping Single Quote: I'm a 'Geek' Escaping Double Quotes: I'm a 'Geek' Escaping Backslashes: C:PythonGeeks Tab: Hi Geeks New Line: Python Geeks>

Exempel:

För att ignorera escape-sekvenserna i en sträng, r eller R används, innebär detta att strängen är en rå sträng och escape-sekvenser inuti den ska ignoreras.

Pytonorm
# Printing hello in octal String1 = '110145154154157' print('
Printing in Octal with the use of Escape Sequences: ') print(String1) # Using raw String to # ignore Escape Sequences String1 = r'This is 110145154154157' print('
Printing Raw String in Octal Format: ') print(String1) # Printing Geeks in HEX String1 = 'This is x47x65x65x6bx73 in x48x45x58' print('
Printing in HEX with the use of Escape Sequences: ') print(String1) # Using raw String to # ignore Escape Sequences String1 = r'This is x47x65x65x6bx73 in x48x45x58' print('
Printing Raw String in HEX Format: ') print(String1)>

Produktion:

Printing in Octal with the use of Escape Sequences: Hello Printing Raw String in Octal Format: This is 110145154154157 Printing in HEX with the use of Escape Sequences: This is Geeks in HEX Printing Raw String in HEX Format: This is x47x65x65x6bx73 in x48x45x58>

Python-strängformatering

Strängar i Python eller strängdatatyp i Python kan formateras med hjälp av formatera() metod som är ett mycket mångsidigt och kraftfullt verktyg för att formatera strängar. Formatmetoden i String innehåller klammerparenteser {} som platshållare som kan hålla argument enligt position eller nyckelord för att specificera ordningen.

Exempel 1: I det här exemplet kommer vi att deklarera en sträng som innehåller de krulliga klammerparenteserna {} som fungerar som platshållare och ge dem värden för att se hur strängdeklarationspositionen spelar roll.

Pytonorm
# Python Program for # Formatting of Strings # Default order String1 = '{} {} {}'.format('Geeks', 'For', 'Life') print('Print String in default order: ') print(String1) # Positional Formatting String1 = '{1} {0} {2}'.format('Geeks', 'For', 'Life') print('
Print String in Positional order: ') print(String1) # Keyword Formatting String1 = '{l} {f} {g}'.format(g='Geeks', f='For', l='Life') print('
Print String in order of Keywords: ') print(String1)>

Produktion:

Print String in default order: Geeks For Life Print String in Positional order: For Geeks Life Print String in order of Keywords: Life For Geeks>

Exempel 2: Heltal som binära, hexadecimala, etc., och flöten kan avrundas eller visas i exponentformen med användning av formatspecifikationer.

Pytonorm
# Formatting of Integers String1 = '{0:b}'.format(16) print('
Binary representation of 16 is ') print(String1) # Formatting of Floats String1 = '{0:e}'.format(165.6458) print('
Exponent representation of 165.6458 is ') print(String1) # Rounding off Integers String1 = '{0:.2f}'.format(1/6) print('
one-sixth is : ') print(String1)>

Produktion:

Binary representation of 16 is 10000 Exponent representation of 165.6458 is 1.656458e+02 one-sixth is : 0.17>

Exempel 3: I strängdatatyp i Python kan en sträng vänster-, höger- eller centrerad med användning av formatspecifikationer, separerade med ett kolon(:). () anger att strängen ska justeras till höger och (^) anger att strängen ska justeras mot mitten. Vi kan också ange i vilken längd den ska justeras. Till exempel betyder (<10) att strängen ska vara vänsterjusterad inom ett fält med bredd på 10 tecken.

Pytonorm
# String alignment String1 = '|{:<10}|{:^10}|{:>10}|'.format('Nördar', 'för', 'Nördar') print('
Vänster, centrerad och högerjustering med formatering: ') print(String1) # För att demonstrera justering av mellanslag String1 = '
{0:^16} grundades i {1:<4}!'.format('techcodeview.com', 2009) print(String1)>

Produktion:

Left, center and right alignment with Formatting: |Geeks | for | Geeks| techcodeview.com was founded in 2009 !>

Exempel 4: Gammaldags formatering gjordes utan användning av formatmetoden genom att använda de % operatör

Pytonorm
# Python Program for # Old Style Formatting # of Integers Integer1 = 12.3456789 print('Formatting in 3.2f format: ') print('The value of Integer1 is %3.2f' % Integer1) print('
Formatting in 3.4f format: ') print('The value of Integer1 is %3.4f' % Integer1)>

Produktion:

Formatting in 3.2f format: The value of Integer1 is 12.35 Formatting in 3.4f format: The value of Integer1 is 12.3457>

Liknande läsningar - Strängmetoder

Användbara Python-strängoperationer

Python strängkonstanter

Inbyggd funktion

Beskrivning

i sträng i java
string.ascii_letters

Sammankoppling av konstanterna ascii_gemener och ascii_versaler.

string.ascii_lowercase

Sammanfogning av små bokstäver

string.ascii_versaler

Sammanfogning av versaler

string.digits

Siffror i strängar

string.hexdigits

Sexsiffrig i strängar

sträng.bokstäver

sammanlänkning av strängarna gemener och versaler

sträng.gemener

En sträng måste innehålla små bokstäver.

string.octdigits

Octadigit i en sträng

sträng.interpunktion

ASCII-tecken med skiljetecken.

sträng.utskrivbar

Sträng av tecken som är utskrivbara

String.endswith()

Returnerar True om en sträng slutar med det givna suffixet annars returnerar False

String.startswith()

Returnerar True om en sträng börjar med det givna prefixet annars returnerar False

String.isdigit()

Returnerar True om alla tecken i strängen är siffror, annars returnerar den False.

String.isalpha()

Returnerar True om alla tecken i strängen är alfabet, annars returnerar den False.

string.isdecimal()

Returnerar sant om alla tecken i en sträng är decimaler.

str.format()

en av strängformateringsmetoderna i Python3, som tillåter flera ersättningar och värdeformatering.

String.index

Returnerar positionen för den första förekomsten av delsträng i en sträng

sträng.versaler

En sträng måste innehålla stora bokstäver.

string.whitespace

En sträng som innehåller alla tecken som anses vara blanksteg.

java print
string.swapcase()

Metod konverterar alla versaler till gemener och vice versa av den givna strängen och returnerar den

byta ut()

returnerar en kopia av strängen där alla förekomster av en delsträng ersätts med en annan delsträng.

Utfasade strängfunktioner

Inbyggd funktion

Beskrivning

sträng.Isdecimal

Returnerar sant om alla tecken i en sträng är decimaler

String.Isalnum

Returnerar sant om alla tecken i en given sträng är alfanumeriska.

string.Istitle

Returnerar True om strängen är en sträng med överdrag

String.partition

delar strängen vid den första förekomsten av separatorn och returnerar en tupel.

String.Identifier

Kontrollera om en sträng är en giltig identifierare eller inte.

String.len

Returnerar längden på strängen.

String.rindex

Returnerar det högsta indexet för delsträngen inuti strängen om delsträngen hittas.

String.Max

Returnerar det högsta alfabetiska tecknet i en sträng.

String.min

Returnerar det minsta alfabetiska tecknet i en sträng.

String.splitlines

Returnerar en lista med linjer i strängen.

string.capitalize

Returnera ett ord med dess första tecken versalt.

string.expandtabs

Expandera flikar i en sträng och ersätt dem med ett eller flera mellanslag

string.find

Returnera den lägsta indexeringen av en understräng.

string.rfind

hitta det högsta indexet.

string.count

Returnera antalet (icke-överlappande) förekomster av delsträngssub i strängen

sträng.lägre

Lämna tillbaka en kopia av s, men med versaler, bokstäver omvandlade till gemener.

string.split

Returnera en lista med orden i strängen, Om det valfria andra argumentet sep saknas eller Inget

Python Docstrings
  • Permutation av en given sträng med inbyggd funktion
  • Hitta frekvensen för varje ord i en sträng i Python
  • Program för att acceptera strängarna som innehåller alla vokaler
  • Räkna antalet matchande tecken i ett par strängar
  • Räkna alla prefix i en given sträng med störst frekvens
  • Program för att kontrollera om en sträng innehåller något specialtecken
  • Genererar slumpmässiga strängar tills en given sträng genereras
  • Python-program för att räkna versaler och gemener utan att använda inbyggda funktioner