Niz je podatkovna struktura v programiranju Python, ki predstavlja zaporedje znakov. Je nespremenljiv podatkovni tip, kar pomeni, da ko enkrat ustvarite niz, ga ne morete spremeniti. Python String se široko uporabljajo v številnih različnih aplikacijah, kot so shranjevanje in obdelava besedilnih podatkov, predstavljanje imen, naslovov in drugih vrst podatkov, ki jih je mogoče predstaviti kot besedilo.
Kazalo
- Kaj je niz v Pythonu?
- Ustvarite niz v Pythonu
- Dostop do znakov v nizu Python
- Rezanje strun
- Obrnjen niz Python
- Brisanje/posodabljanje iz niza
- Ubežno zaporedje v Pythonu
- Oblikovanje nizov Python
- Uporabne operacije nizov Python
- Python String konstante
- Zastarele funkcije nizov
- Pogosta vprašanja o Python String
Kaj je niz v Pythonu?
Python Programiranje nima znakovnega podatkovnega tipa, en sam znak je preprosto niz z dolžino 1. Poglejmo Sintaksa niza Python :
Sintaksa podatkovnega tipa String v Pythonu
string_variable = 'Hello, world!'>
Primer podatkovnega tipa niz v Pythonu
Python string_0 = 'A Computer Science portal for geeks' print(string_0) print(type(string_0))>
Izhod:
A Computer Science portal for geeks>
Ustvarite niz v Pythonu
Nizi v Pythonu lahko ustvarite z uporabo enojnih ali dvojnih narekovajev ali celo trojnih narekovajev. Poglejmo, kako lahko definiramo niz v Pythonu ali kako napišemo niz v Pythonu.
primer:
V tem primeru bomo prikazali različne načine za ustvarjanje niza Python. Ustvarili bomo niz z uporabo enojnih narekovajev (‘ ‘), dvojnih narekovajev ( ) in trojnih dvojnih narekovajev ( ). Trojne narekovaje lahko uporabite za deklaracijo večvrstičnih nizov v Pythonu.
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)>
Izhod:
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>
Dostop do znakov v nizu Python
V vadnicah za programiranje Python lahko do posameznih znakov niza dostopate z uporabo metode indeksiranja. Indeksiranje omogoča negativnim naslovnim sklicem dostop do znakov iz zadnje strani niza, npr. -1 se nanaša na zadnji znak, -2 na predzadnji znak in tako naprej.
naročanje po pošti
Medtem ko bo dostop do indeksa izven obsega povzročil IndexError . Samo cela števila je dovoljeno posredovati kot indeks, float ali druge vrste, ki bodo povzročile a TypeError .

Indeksiranje sintakse Python String
Python String Positive Indexing
V tem primeru bomo definirali niz v programiranju Python in dostopali do njegovih znakov s pozitivnim indeksiranjem. 0. element bo prvi znak niza.
Python String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing First character print('First character of String is: ', String1[0])>
Izhod:
Initial String: GeeksForGeeks First character of String is: G>
Negativno indeksiranje nizov Python
V tem primeru bomo do njegovih znakov dostopali z negativnim indeksiranjem. -3. element je predzadnji znak niza.
Python String1 = 'GeeksForGeeks' print('Initial String: ', String1) # Printing Last character print('Last character of String is: ', String1[-3])>
Izhod
Initial String: GeeksForGeeks Last character of String is: e>
Python za rezanje nizov
V vadnicah za programiranje Python je Rezanje strun metoda se uporablja za dostop do obsega znakov v nizu. Rezanje v nizu se izvaja z uporabo operatorja rezanja, tj. dvopičja (:). Pri uporabi te metode morate upoštevati eno stvar, da niz, vrnjen po rezanju, vključuje znak na začetnem indeksu, ne pa znaka na zadnjem indeksu.
V tem primeru bomo uporabili metodo rezanja nizov za ekstrahiranje podniza izvirnega niza. [3:12] označuje, da se bo rezanje niza začelo od 3. indeksa niza do 12. indeksa (12. znak ni vključen). Pri rezanju nizov lahko uporabimo tudi negativno indeksiranje.
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])>
Izhod:
Initial String: GeeksForGeeks Slicing characters from 3-12: ksForGeek Slicing characters between 3rd and 2nd last character: ksForGee>
Obrnjen niz Python
V vadnicah za programiranje Python lahko z dostopom do znakov iz niza tudi obrniti nize v Pythonu Programiranje. Niz lahko obrnemo z uporabo metode rezanja niza.
V tem primeru bomo obrnili niz z dostopom do indeksa. Nismo določili prvih dveh delov rezine, kar pomeni, da upoštevamo celoten niz, od začetnega indeksa do zadnjega indeksa.
Python #Program to reverse a string gfg = 'geeksforgeeks' print(gfg[::-1])>
Izhod:
skeegrofskeeg>
BuildIn Reverse Function v Pythonu
Niz lahko obrnemo tudi z uporabo vgrajenega pridruži se in obrnjeno funkcije in posredovanje niza kot parametra funkciji reversed().
Python # Program to reverse a string gfg = 'geeksforgeeks' # Reverse the string using reversed and join function gfg = ''.join(reversed(gfg)) print(gfg)>
Izhod:
skeegrofskeeg>
Brisanje/posodabljanje iz niza
V Pythonu posodabljanje ali brisanje znakov iz niza ni dovoljeno. To bo povzročilo napako, ker dodelitev ali brisanje elementov iz niza ni podprto. Čeprav je brisanje celotnega niza možno z uporabo vgrajene ključne besede del. To je zato, ker so nizi nespremenljivi, zato elementov niza ni mogoče spremeniti, ko so dodeljeni. Samo novim nizom je mogoče dodeliti isto ime.
Posodabljanje znaka
Znak niza lahko posodobite v Pythonu tako, da najprej pretvorite niz v a Seznam Python in nato posodabljanje elementa na seznamu. Ker so seznami po naravi spremenljivi, lahko posodobimo znak in nato pretvorimo seznam nazaj v niz.
Druga metoda je uporaba metode rezanja nizov. Prerežite niz pred znakom, ki ga želite posodobiti, nato dodajte nov znak in na koncu ponovno dodajte drugi del niza z rezanjem niza.
primer:
V tem primeru za posodobitev znaka uporabljamo seznam in metodo rezanja nizov. String1 smo pretvorili v seznam, spremenili njegovo vrednost pri določenem elementu in ga nato pretvorili nazaj v niz s pomočjo Pythona string join() metoda.
Pri metodi rezanja nizov smo niz razrezali do znaka, ki ga želimo posodobiti, združili nov znak in na koncu združili preostali del niza.
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)>
Izhod:
10 od 10
Initial String: Hello, I'm a Geek Updating character at 2nd Index: Heplo, I'm a Geek Heplo, I'm a Geek>
Posodabljanje celotnega niza
V programiranju Python: ker so nizi Python po naravi nespremenljivi, obstoječega niza ne moremo posodobiti. Spremenljivki z enakim imenom lahko dodelimo le povsem novo vrednost.
primer: V tem primeru najprej dodelimo vrednost 'String1' in ga nato posodobimo tako, da mu dodelimo popolnoma drugačno vrednost. Preprosto smo spremenili njegovo referenco.
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)>
Izhod:
Initial String: Hello, I'm a Geek Updated String: Welcome to the Geek World>
Brisanje znaka
Python nizi so nespremenljivi, kar pomeni, da ne moremo izbrisati znaka iz njih. Ko poskušamo izbrisati znak z uporabo od ključno besedo, bo ustvarila napako.
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)>
Izhod:
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>
Toda z rezanjem lahko odstranimo znak iz prvotnega niza in rezultat shranimo v nov niz.
primer: V tem primeru bomo niz najprej razrezali do znaka, ki ga želimo izbrisati, nato pa preostali niz združili poleg izbrisanega znaka.
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)>
Izhod:
Initial String: Hello, I'm a Geek Deleting character at 2nd Index: Helo, I'm a Geek>
Brisanje celotnega niza
V programiranju Python je brisanje celotnega niza možno z uporabo ključne besede del. Nadalje, če poskusimo natisniti niz, bo to povzročilo napako, ker je niz izbrisan in ni na voljo za tiskanje.
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)>
Napaka:
Traceback (most recent call last): File '/home/e4b8f2170f140da99d2fe57d9d8c6a94.py', line 12, in print(String1) NameError: name 'String1' is not defined>
Ubežno zaporedje v Pythonu
Med tiskanjem nizov z enojnimi in dvojnimi narekovaji povzroči SyntaxError ker String že vsebuje enojne in dvojne narekovaje in ga zato ni mogoče natisniti z uporabo nobenega od teh. Zato se za tiskanje takega niza uporabijo trojni narekovaji ali pa se za tiskanje nizov uporabijo ubežna zaporedja.
Ubežna zaporedja se začnejo s poševnico nazaj in jih je mogoče interpretirati drugače. Če so za predstavitev niza uporabljeni enojni narekovaji, morajo biti vsi enojni narekovaji v nizu ubežni, enako velja za dvojne narekovaje.
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)>
Izhod:
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>
primer:
Če želite prezreti ubežna zaporedja v nizu, r oz R se uporablja, to pomeni, da je niz neobdelani niz in da je treba ubežna zaporedja v njem prezreti.
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)>
Izhod:
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>
Oblikovanje nizov Python
Nize v Pythonu ali vrsto podatkov niz v Pythonu je mogoče formatirati z uporabo format() metoda, ki je zelo vsestransko in zmogljivo orodje za oblikovanje nizov. Metoda oblikovanja v nizu vsebuje zavite oklepaje {} kot ograde, ki lahko vsebujejo argumente glede na položaj ali ključno besedo za določanje vrstnega reda.
Primer 1: V tem primeru bomo deklarirali niz, ki vsebuje zavite oklepaje {}, ki delujejo kot nadomestni znaki, in jim zagotovili vrednosti, da vidimo, kako pomemben je položaj deklaracije niza.
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)>
Izhod:
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>
Primer 2: Cela števila, kot so binarna, šestnajstiška itd., in lebdeča števila je mogoče zaokrožiti ali prikazati v obliki eksponenta z uporabo specifikatorjev formata.
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)>
Izhod:
Binary representation of 16 is 10000 Exponent representation of 165.6458 is 1.656458e+02 one-sixth is : 0.17>
Primer 3: V podatkovnem tipu String v Pythonu je lahko niz poravnan levo, desno ali sredinsko z uporabo specifikatorjev formata, ločenih z dvopičjem (:). () pomeni, da mora biti niz poravnan na desno, (^) pa, da mora biti niz poravnan na sredino. Določimo lahko tudi dolžino, v kateri naj bo poravnana. Na primer (<10) pomeni, da mora biti niz poravnan na levo znotraj polja širine 10 znakov.
Python # String alignment String1 = '|{:<10}|{:^10}|{:>10}|'.format('Geeks', 'for', 'Geeks') print('
Leva, sredinska in desna poravnava z oblikovanjem: ') print(String1) # Za predstavitev poravnava presledkov Niz1 = '
{0:^16} je bil ustanovljen v {1:<4}!'.format('techcodeview.com', 2009) print(String1)>
Izhod:
Left, center and right alignment with Formatting: |Geeks | for | Geeks| techcodeview.com was founded in 2009 !>
Primer 4: Formatiranje v starem slogu je bilo izvedeno brez uporabe metode oblikovanja z uporabo the % operater
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)>
Izhod:
java math.min
Formatting in 3.2f format: The value of Integer1 is 12.35 Formatting in 3.4f format: The value of Integer1 is 12.3457>
Podobno branje – Metode nizov
Uporabne operacije nizov Python
- Logični operatorji na nizu
- Oblikovanje niza z %
- Razred predloge niza
- Razdelite vrvico
- Python Docstrings
- Rezanje strun
- Poiščite vse podvojene znake v nizu
- Obrni niz v Pythonu (5 različnih načinov)
- Program Python za preverjanje, ali je niz palindrom ali ne
Python String konstante
Vgrajena funkcija | Opis |
---|---|
niz.ascii_črke | Združevanje konstant ascii_lowercase in ascii_uppercase. |
string.ascii_lowercase | Veženje malih črk |
string.ascii_uppercase | Veženje velikih črk |
niz.številke | Številka v nizih |
string.hexdigits | Šestmestno v nizih |
niz.črke | veriženje nizov malih in velikih črk |
niz.male črke | Niz mora vsebovati male črke. |
niz.octdigits naključno v c | Osmeroštevilka v nizu |
niz.ločila | ASCII znaki, ki imajo ločila. |
string.printable | Niz znakov, ki jih je mogoče natisniti |
String.endswith() | Vrne True, če se niz konča z dano pripono, sicer vrne False |
String.startswith() | Vrne True, če se niz začne z dano predpono, sicer vrne False |
String.isdigit() | Vrne True, če so vsi znaki v nizu števke. V nasprotnem primeru vrne False. |
String.isalpha() | Vrne True, če so vsi znaki v nizu abecede. V nasprotnem primeru vrne False. |
string.isdecimal() | Vrne true, če so vsi znaki v nizu decimalni. |
str.format() | ena od metod oblikovanja nizov v Python3, ki omogoča večkratne zamenjave in oblikovanje vrednosti. |
String.index | Vrne položaj prve pojavitve podniza v nizu |
niz.velike črke | Niz mora vsebovati velike črke. |
niz.praznina | Niz, ki vsebuje vse znake, ki veljajo za presledke. |
string.swapcase() | Metoda pretvori vse velike črke v male črke in obratno podanega niza ter ga vrne |
zamenjati() | vrne kopijo niza, kjer so vse pojavitve podniza nadomeščene z drugim podnizom. |
Zastarele funkcije nizov
Vgrajena funkcija | Opis |
---|---|
string.Isdecimal | Vrne true, če so vsi znaki v nizu decimalni |
String.Isalnum | Vrne true, če so vsi znaki v danem nizu alfanumerični. |
niz.Istitle | Vrne True, če je niz niz z velikimi in malimi črkami v naslovu |
String.partition | razdeli niz ob prvi pojavitvi ločila in vrne torko. |
String.Isidentifier | Preverite, ali je niz veljaven identifikator ali ne. |
Niz.len | Vrne dolžino niza. |
String.rindex | Vrne najvišji indeks podniza znotraj niza, če je podniz najden. |
String.Max | Vrne najvišji abecedni znak v nizu. |
Niz.min | Vrne najmanjši abecedni znak v nizu. |
String.splitlines | Vrne seznam vrstic v nizu. kako onemogočiti razvijalski način v androidu |
string.capitalize | Vrne besedo z veliko začetnico. |
string.expandtabs | Razširite zavihke v nizu in jih nadomestite z enim ali več presledki |
niz.najdi | Vrne najnižji indeks podniza. |
string.rfind | poiščite najvišji indeks. |
niz.štetje | Vrne število (neprekrivajočih se) pojavitev podniza sub v nizu |
niz.spodnji | Vrne kopijo s, vendar z velikimi črkami, črke pretvorjene v male. |
string.split | Vrne seznam besed niza, če izbirni drugi argument sep ni ali ga ni |
Python Docstrings |