logo

Reťazec Python

String je dátová štruktúra v programovaní Python, ktorá predstavuje postupnosť znakov. Je to nemenný dátový typ, čo znamená, že po vytvorení reťazca ho už nemôžete zmeniť. Python String sa široko používa v mnohých rôznych aplikáciách, ako je ukladanie a manipulácia s textovými údajmi, reprezentovanie mien, adries a iných typov údajov, ktoré môžu byť reprezentované ako text.

Obsah

Čo je reťazec v Pythone?

Python Programovanie nemá dátový typ znaku, jeden znak je jednoducho reťazec s dĺžkou 1. Pozrime sa Syntax reťazca Pythonu :



Syntax dátového typu reťazca v Pythone

string_variable = 'Hello, world!'>

Príklad dátového typu reťazca v Pythone

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

Výkon:

A Computer Science portal for geeks>

Vytvorte reťazec v Pythone

Reťazce v Pythone môžu byť vytvorené pomocou jednoduchých úvodzoviek alebo dvojitých úvodzoviek alebo dokonca trojitých úvodzoviek. Pozrime sa, ako môžeme definovať reťazec v Pythone alebo ako napísať reťazec v Pythone.

Príklad:

ako spárovať slúchadlá beats

V tomto príklade ukážeme rôzne spôsoby vytvorenia reťazca Python. Vytvoríme reťazec pomocou jednoduchých úvodzoviek (‘ ‘), dvojitých úvodzoviek ( ) a trojitých dvojitých úvodzoviek ( ). Trojité úvodzovky možno použiť na deklarovanie viacriadkových reťazcov v Pythone.

Python
# 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)>

Výkon:

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>

Prístup k znakom v reťazci Python

V návodoch na programovanie v Pythone je možné pristupovať k jednotlivým znakom reťazca pomocou metódy indexovania. Indexovanie umožňuje záporným adresovým odkazom pristupovať k znakom zo zadnej strany reťazca, napr. -1 sa vzťahuje na posledný znak, -2 sa vzťahuje na predposledný znak atď.

Pri prístupe k indexu mimo rozsahu spôsobí IndexError . Iba celé čísla môžu byť odovzdané ako index, float alebo iné typy, ktoré spôsobia a TypeError .

Indexovanie reťazcov Python

Indexovanie syntaxe reťazca Python

Pozitívna indexácia reťazcov Pythonu

V tomto príklade zadefinujeme reťazec v programovaní Python a získame prístup k jeho znakom pomocou pozitívneho indexovania. Prvok 0 bude prvým znakom reťazca.

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

Výkon:

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

Negatívne indexovanie reťazcov Pythonu

V tomto príklade budeme pristupovať k jeho znakom pomocou negatívneho indexovania. -3. prvok je tretí posledný znak reťazca.

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

Výkon

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

String Slicing Python

V návodoch na programovanie v Pythone je Krájanie strún metóda sa používa na prístup k rozsahu znakov v reťazci. Krájanie v reťazci sa vykonáva pomocou operátora krájania, t. j. dvojbodky (:). Jedna vec, ktorú treba mať na pamäti pri používaní tejto metódy, je, že reťazec vrátený po rozrezaní obsahuje znak na začiatku indexu, ale nie znak na poslednom indexe.

V tomto príklade použijeme metódu krájania reťazca na extrahovanie podreťazca pôvodného reťazca. [3:12] označuje, že krájanie reťazca začne od 3. indexu reťazca po 12. index (12. znak nezahŕňa). Pri krájaní reťazcov môžeme použiť aj negatívnu indexáciu.

Python
# 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])>

Výkon:

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

Obrátený reťazec Pythonu

V návodoch na programovanie v Pythone môžeme tiež pristupovať k znakom z reťazca reverzné reťazce v Pythone Programovanie. Reťazec môžeme obrátiť pomocou metódy String slicing.

V tomto príklade obrátime reťazec prístupom k indexu. Nešpecifikovali sme prvé dve časti rezu, čo naznačuje, že uvažujeme o celom reťazci, od počiatočného indexu po posledný index.

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

Výkon:

skeegrofskeeg>

Reverzná funkcia BuildIn v Pythone

Môžeme tiež obrátiť reťazec pomocou vstavaného pripojiť sa a obrátené a odovzdanie reťazca ako parametra funkcii reversed().

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

Výkon:

skeegrofskeeg>

Odstránenie/aktualizácia z reťazca

V Pythone nie je povolená aktualizácia alebo vymazanie znakov z reťazca. Spôsobí to chybu, pretože priradenie položky alebo odstránenie položky z reťazca nie je podporované. Aj keď vymazanie celého reťazca je možné pomocou vstavaného kľúčového slova del. Je to preto, že reťazce sú nemenné, a preto sa prvky reťazca po priradení nedajú zmeniť. Iba nové reťazce môžu byť priradené k rovnakému názvu.

Aktualizácia postavy

Znak reťazca môže byť v Pythone aktualizovaný tak, že najprv skonvertujete reťazec na a Zoznam Python a potom aktualizujte prvok v zozname. Keďže zoznamy sú svojou povahou meniteľné, môžeme aktualizovať znak a potom previesť zoznam späť na reťazec.

Ďalšou metódou je použitie metódy krájania reťazcov. Nakrájajte reťazec pred znak, ktorý chcete aktualizovať, potom pridajte nový znak a nakoniec pridajte druhú časť reťazca znova rozrezaním reťazca.

Príklad:

V tomto príklade na aktualizáciu znaku používame zoznam aj metódu krájania reťazca. Skonvertovali sme String1 na zoznam, zmenili sme jeho hodnotu na konkrétnom prvku a potom sme ho skonvertovali späť na reťazec pomocou Pythonu string join() metóda.

Pri metóde krájania reťazcov sme reťazec rozrezali až po znak, ktorý chceme aktualizovať, zreťazili sme nový znak a nakoniec sme spojili zvyšnú časť reťazca.

Python
# 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)>

Výkon:

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

Aktualizuje sa celý reťazec

V programovaní v Pythone, Keďže reťazce Pythonu sú svojou povahou nemenné, nemôžeme aktualizovať existujúci reťazec. Úplne novú hodnotu môžeme priradiť len premennej s rovnakým názvom.

Príklad: V tomto príklade najprv priradíme hodnotu „String1“ a potom ju aktualizujeme priradením úplne inej hodnoty. Jednoducho sme zmenili jeho referenciu.

Python
# 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)>

Výkon:

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

Odstránenie postavy

Reťazce Pythonu sú nemenné, to znamená, že z nich nemôžeme odstrániť znak. Keď sa pokúsime odstrániť znak pomocou z kľúčové slovo, vygeneruje chybu.

Python
# 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)>

Výkon:

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>

Ale pomocou krájania môžeme odstrániť znak z pôvodného reťazca a uložiť výsledok do nového reťazca.

Príklad: V tomto príklade najprv rozdelíme reťazec až po znak, ktorý chceme vymazať, a potom zreťazíme zvyšný reťazec ako ďalší z vymazaného znaku.

Python
# 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)>

Výkon:

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

Odstránenie celého reťazca

V programovaní v Pythone je vymazanie celého reťazca možné pomocou kľúčového slova del. Ďalej, ak sa pokúsime vytlačiť reťazec, spôsobí to chybu, pretože reťazec sa vymaže a nie je možné ho vytlačiť.

Python
# 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)>

Chyba:

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

Únikové sekvenovanie v Pythone

Pri tlači reťazcov s jednoduchými a dvojitými úvodzovkami v ňom spôsobuje Chyba syntaxe pretože String už obsahuje jednoduché a dvojité úvodzovky, a preto ho nemožno vytlačiť pomocou žiadnej z nich. Preto sa na tlač takéhoto reťazca použijú buď Triple Quotes alebo Escape sekvencie na tlač Stringov.

Únikové sekvencie začínajú spätnou lomkou a možno ich interpretovať rôzne. Ak sa na vyjadrenie reťazca používajú jednoduché úvodzovky, potom musia byť všetky jednoduché úvodzovky prítomné v reťazci escapované a to isté sa robí aj pre dvojité úvodzovky.

Python
# 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)>

Výkon:

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>

Príklad:

Ak chcete ignorovať únikové sekvencie v reťazci, r alebo R sa používa, to znamená, že reťazec je nespracovaný reťazec a sekvencie escape v ňom sa majú ignorovať.

Python
# 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)>

Výkon:

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>

Formátovanie reťazca Python

Reťazce v Pythone alebo dátový typ reťazca v Pythone je možné formátovať pomocou formát() metóda, ktorá je veľmi všestranným a výkonným nástrojom na formátovanie reťazcov. Metóda Formát v reťazci obsahuje zložené zátvorky {} ako zástupné symboly, ktoré môžu obsahovať argumenty podľa pozície alebo kľúčového slova na určenie poradia.

Príklad 1: V tomto príklade deklarujeme reťazec, ktorý obsahuje zložené zátvorky {}, ktoré fungujú ako zástupné symboly, a poskytneme im hodnoty, aby sme videli, ako záleží na pozícii deklarácie reťazca.

Python
# 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)>

Výkon:

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>

Príklad 2: Celé čísla ako binárne, hexadecimálne atď. a pohyblivé čísla možno zaokrúhliť alebo zobraziť vo forme exponentov pomocou špecifikátorov formátu.

Python
# 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)>

Výkon:

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

Príklad 3: V dátovom type String v Pythone môže byť reťazec zarovnaný doľava, doprava alebo na stred s použitím špecifikátorov formátu, oddelených dvojbodkou (:). () znamená, že reťazec by mal byť zarovnaný doprava a (^) znamená, že reťazec by mal byť zarovnaný na stred. Môžeme určiť aj dĺžku, v akej sa má zarovnať. Napríklad (<10) znamená, že reťazec by mal byť zarovnaný doľava v rámci poľa so šírkou 10 znakov.

Python
# String alignment String1 = '|{:<10}|{:^10}|{:>10}|'.format('Geeks', 'for', 'Geeks') print('
Zarovnanie vľavo, na stred a vpravo s formátovaním: ') print(String1) # Na ukážku zarovnanie medzier String1 = '
{0:^16} bol založený v roku {1:<4}!'.format('techcodeview.com', 2009) print(String1)>

Výkon:

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

Príklad 4: Formátovanie starého štýlu bolo vykonané bez použitia metódy formátovania pomocou a % operátor

Python
# 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)>

Výkon:

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

Podobné čítanie - Strunové metódy

Užitočné operácie s reťazcom Pythonu

Konštanty reťazca Python

Vstavaná funkcia

Popis

string.ascii_letters

Reťazenie konštánt ascii_lowercase a ascii_uppercase.

string.ascii_malé písmená

Reťazenie malých písmen

reťazec.ascii_veľké písmená

Reťazenie veľkých písmen

reťazec.číslice

Číslo v reťazcoch

reťazec.hexčíslice

Hexačíslo v reťazcoch

reťazec.písmená

zreťazenie reťazcov malé a veľké písmená

reťazec.malé písmená

Reťazec musí obsahovať malé písmená.

reťazec.osemčíslice

Osemčíslica v reťazci

reťazec.interpunkcia

Znaky ASCII s interpunkčnými znakmi.

reťazec.tlačiteľný

Reťazec znakov, ktoré je možné vytlačiť

String.endswith()

Vráti hodnotu True, ak reťazec končí danou príponou, inak vráti hodnotu False

String.startswith()

Vráti hodnotu True, ak reťazec začína danou predponou, inak vráti hodnotu False

String.isdigit()

Vráti hodnotu True, ak sú všetky znaky v reťazci číslice. V opačnom prípade vráti hodnotu False.

String.isalpha()

Vráti hodnotu True, ak sú všetky znaky v reťazci abecedy, v opačnom prípade vráti hodnotu False.

string.isdecimal()

Vráti hodnotu true, ak sú všetky znaky v reťazci desiatkové.

str.format()

jedna z metód formátovania reťazcov v Pythone3, ktorá umožňuje viaceré substitúcie a formátovanie hodnôt.

String.index

Vráti polohu prvého výskytu podreťazca v reťazci

reťazec.veľké písmená

Reťazec musí obsahovať veľké písmená.

reťazec.medzera

Reťazec obsahujúci všetky znaky, ktoré sa považujú za medzery.

string.swapcase()

Metóda prevedie všetky veľké písmená na malé a naopak z daného reťazca a vráti ho

nahradiť ()

vráti kópiu reťazca, kde sú všetky výskyty podreťazca nahradené iným podreťazcom.

Zastarané funkcie reťazcov

Vstavaná funkcia

Popis

reťazec.Idecimálny

Vráti hodnotu true, ak sú všetky znaky v reťazci desiatkové

String.Isalnum

Vráti hodnotu true, ak sú všetky znaky v danom reťazci alfanumerické.

string.Istitle

Vráti hodnotu True, ak je reťazec reťazcom s malými písmenami v názve

String.partition

rozdelí reťazec pri prvom výskyte oddeľovača a vráti n-ticu.

String.Identifikátor

Skontrolujte, či je reťazec platným identifikátorom alebo nie.

String.len

Vráti dĺžku reťazca.

String.rindex

Ak sa nájde podreťazec, vráti najvyšší index podreťazca v reťazci.

Reťazec.Max

Vráti najvyšší abecedný znak v reťazci.

Reťazec.min

Vráti minimálny počet abecedných znakov v reťazci.

10 z 10
String.splitlines

Vráti zoznam riadkov v reťazci.

reťazec.veľké písmená

Vráti slovo s veľkým prvým znakom.

string.expandtabs

Rozbaľte tabulátory v reťazci a nahraďte ich jednou alebo viacerými medzerami

reťazec.nájsť

Vráti podreťazec s najnižším indexovaním.

reťazec.nájsť

nájsť najvyšší index.

reťazec.počet

Vráti počet (neprekrývajúcich sa) výskytov podreťazca sub v reťazci

šnúrka.spodná

Vráti kópiu s, ale s veľkými písmenami, písmenami skonvertovanými na malé.

reťazec.rozdeliť

Vráti zoznam slov reťazca, ak chýba voliteľný druhý argument sep alebo Žiadny

Python Docstrings
  • Permutácia daného reťazca pomocou vstavanej funkcie
  • Nájdite frekvenciu každého slova v reťazci v Pythone
  • Program na akceptovanie reťazcov, ktoré obsahujú všetky samohlásky
  • Spočítajte počet zodpovedajúcich znakov v páre reťazca
  • Spočítajte všetky predpony v danom reťazci s najväčšou frekvenciou
  • Program na kontrolu, či reťazec obsahuje nejaký špeciálny znak
  • Generovanie náhodných reťazcov, kým sa nevygeneruje daný reťazec
  • Python program na počítanie veľkých a malých písmen bez použitia vstavaných funkcií