Python Strings - Pregled osnovnih nizov

Strune so eden od osnovnih podatkovnih vrst v Pythonu. Strun Python je kombinacija poljubnega števila znakov iz črk, številk in drugih posebnih znakov. V tej vadnici boste izvedeli, kako jih ustvariti, upravljati in formatirati za uporabo v različnih scenarijih.



Ustvari nove nize v Pythonu

Če želite ustvariti nov niz Python, morate prijaviti zaporedje znakov, zaprtih z enojnimi ali dvojnimi narekovaji. Trojni narekovaji se uporabljajo tudi za nize, dolge več vrstic.

double_quotes = 'My name is John!' single_quotes = 'My name is John!' multi_line_string = '''1. My name is John!



2. I am a programmer'''


Indeksiranje nizov

Vsak znak v nizu Python ima celoštevilski indeks. Indeksiranje se začne od 0 na prvem znaku in narašča po nizu. Kazalo posameznega znaka lahko uporabite za pridobivanje tega znaka iz niza, kot prikazuje naslednji primer.


myPet = 'Dog not a cat' myPet[0] # 'D' myPet[5] # 'o' myPet[7] # ' ' myPet[12] # 't' # myPet[15] # IndexError

Poskus dostopa do znaka, ki presega indeks končnega znaka, povzroči rezultat IndexError .

Do znaka v nizu lahko dostopate z negativnim indeksom. V tem primeru se indeksiranje začne pri -1 pri končnem znaku niza in se negativno poveča, ko se vrnete nazaj.


myPet = 'Dog not a cat' myPet[-1] # 't' myPet[-6] # ' ' myPet[-8] # 'o' myPet[-13] # 'D'

Rezanje nizov

Rezanje je metoda pridobivanja podniza (dela niza) iz niza. To nalogo dosežemo s pomočjo indeksiranja nizov.

myPet = 'Dog not a cat' myPet[5:7] # 'ot' myPet[1:12] # 'og not a ca'

Tu sta na voljo dva indeksa, ločena s dvopičjem, prvi indeks označuje, kje začeti rezanje, drugi indeks pa, kje se ustaviti. Nastali podniz vključuje znake od začetnega indeksa do znaka pred končnim indeksom, znak na končnem indeksu ni vključen v podniz.

Če ne navedete začetnega indeksa, se rezanje začne pri prvem znaku niza. Če ne navedete končnega indeksa, se rezanje konča pri končnem znaku, medtem ko ga vključite v nastali podniz.

myPet = 'Dog not a cat' myPet[:7] # 'Dog not' myPet[10:] # 'cat' myPet[:] # 'Dog not a cat'

Negativne indekse lahko navedete tudi kot indekse rezanja.


myPet = 'Dog not a cat' myPet[10:-1] # 'ca'

Dolžina niza

Vgrajena metoda Python len() izpiše dolžino niza.

myPet = 'Dog not a cat' len(myPet) # 13

Ponavljajte skozi niz

Vsak znak v nizu lahko pregledujete s pomočjo for zanko.

Primer:

name = 'John' for char in name:
print(char) # 'J', 'o', 'h', 'n'


Združevanje nizov

Združevanje nizov je združevanje dveh ali več nizov, da se ustvari en sam niz. V Pythonu obstaja več načinov za združevanje nizov.


Eden uporablja + operater.

str1 = 'Hello' str2 = 'World' concat_str = str1 + str2 # 'HelloWorld' concat_str = str1 + ' ' + str2 # 'Hello World'

Uporabite lahko * operator, da si niz poveže poljubno številokrat.

concat_str = str1*3 # 'HelloHelloHello'

Drug način za združevanje nizov je preko join() metoda.

Vgrajeni join() metoda se uporablja za združevanje nizov nizov s skupnim ločevalnikom.


arr = [str1, str2] concat_str = (' ').join(arr) # 'Hello World' concat_str = (',').join(arr) # 'Hello,World'

V zgornji kodi prva join() metoda doda presledek med vsako besedo v matriki.

Drugi join() metoda vstavi vejico med vsako besedo v matriki.



String in Int Concatenation

V Pythonu lahko niz združimo tudi v celo število, ne pa tudi z + operater. Če poskusimo uporabiti naslednjo kodo:

name = 'John' age = 35 print(a + b)

Dobili bi:


Traceback (most recent call last): File 'concat.py', line 5, in
print(a + b) TypeError: can only concatenate str (not 'int') to str
Opomba:Z nizom + ni mogoče združiti niza in celotnega števila operater.

Da bi se izognili tej napaki, lahko uporabimo str() metoda za pretvorbo celotnega števila v niz, na primer:

name = 'John ' age = '35' print(a + str(b)) #John 35

Kako razdeliti niz

Vgrajeni split() metoda se uporablja za razdelitev posameznega niza v niz nizov.

string = 'My name is John' split_arr = string.split(' ') # ['My', 'name', 'is', 'John'] We can also split a string using a separator: string = 'John, Rose, Jack, Mary' split_arr = string.split(', ') # ['John', 'Rose', 'Jack', 'Mary']

Trak - odstranite bele presledke

strip(), vgrajena metoda nizov se uporablja za odstranjevanje presledkov z začetka in konca niza.

string = ' Hello, World ' stripper_str = string.strip() # 'Hello, World'

Kot lahko vidite, strip() ne odstrani presledkov, ki so med drugimi znaki, ampak samo na obeh koncih.

Obstajata dve različici strip() metoda, levi in ​​desni trak:

  • lstrip()
  • rstrip()

Te metode odstranjujejo presledke na levi in ​​desni strani niza.

Primer:

lsplit_str = string.lstrip() # 'Hello, World ' rsplit_str = string.rstrip() # ' Hello, World'

Strip metode so še posebej uporabne pri branju uporabniških vnosov, kjer lahko uporabniki prenesejo dodatne presledke.



Oblikovanje niza

Python's format() metoda se uporablja za oblikovanje niza. Kodraste oklepaje {} se uporabljajo znotraj niza, ki ga je treba oblikovati kot nadomestno oznako za del, ki ga je treba nadomestiti z argumenti, ki so podani v metoda.

Primer:

format()

V zgornjem primeru 'Hello, {}'.format('John') # 'Hello, John' se v oblikovanem nizu nadomesti z 'John'.

Za oblikovanje lahko uporabite več kodrastih oklepajev znotraj niza. Nadomeščajo jih argumenti v obliki {} ali v predvidenem vrstnem redu (če v zavihkih niso omenjeni položajni indeksi) ali pozicijskem vrstnem redu.

Primer:

format()

Namesto indeksov lahko argumentu 'I have a {}, {}, and a {}'.format('dog', 'cat', 'rabbit') # 'I have a dog, cat, and a rabbit' 'I have a {1}, {0}, and a {2}'.format('dog', 'cat', 'rabbit') # 'I have a cat, dog, and a rabbit' navedete ključne besede tako, da se te ključne besede lahko uporabijo v zavitih oklepajih.

Primer:

format()

The print('{friend} is my friend and {enemy} is my enemy'.format(friend='John', enemy='Jack')) # 'John is my friend and Jack is my enemy' metoda je zelo vsestranska, saj jo lahko uporabimo za številne primere uporabe.

Tu je nekaj drugih aplikacij format() metoda:

format()

Pretvori niz v male črke

Uporaba Pythonovih arr = [3, 5] 'I have {0[0]} dogs and {0[1]} cats'.format(arr) # 'I have 3 dogs and 4 cats' #convert numbers to different bases 'int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}'.format(42) # 'int: 42; hex: 2a; oct: 52; bin: 101010' , lahko pretvorite niz v male črke.

Primer:

lower()

Pretvori niz v velike črke

Podobno tudi z uporabo Pythona string = 'Hello, World!' string.lower() # 'hello, world!' , lahko pretvorite niz v velike črke.

Primer:

upper()

Zaključek

Upam, da ste s pomočjo te vadnice zdaj poznali Pythonove strune in kako uporabljati različne metode za nizalne operacije.

Referenca: Pythonova niz dokumentacija