Osnove nizov Python, metode nizov Python in pretvorbe nizov Python

Izvorno vozlišče: 1402090

V Pythonu se niz nanaša na zaporedje znakov. Niz je še posebej uporaben, ko imate opravka z besedilnimi podatki v Pythonu.

V tej vadnici se bomo sprehodili skozi nekaj osnov nizov Python, najpogosteje uporabljene metode nizov Python in številne načine za pretvorbo metod Python v nize. Posebej si bomo ogledali pretvorbo seznama Python v niz, Python int v niz, Python bytes v niz in končno Python datetime v niz.

[[TOC]]

Pregled nizov Python

Ustvarjanje niza Python

Če želite ustvariti niz Python, lahko znake vstavite v enojne, dvojne ali trojne narekovaje. Medtem ko lahko trojne narekovaje uporabite za enovrstične nize, je to najbolj uporabno za večvrstične nize in nize dokumentov. Poleg tega lahko glede na kompleksnost vaše kode svoje nize poimenujete v skladu z najboljšimi praksami:

""
myniz = 'Codementor'
natisni (moj
vrvica)

myniz = "Kodementor"
natisni (moj
vrvica)

myniz = '''Codementor'''
natisni (moj
vrvica)

niz s trojnimi narekovaji lahko razširi več vrstic

mystring = """Dobrodošli v Codementorju, poiščite strokovnjaka za Python, ki vam bo pomagal pri učenju Pythona!"""
natisni (moj
vrvica)
""

izhod:


Codementor
Codementor
Codementor
Welcome to Codementor, find a Python expert to help you learn Python!

💡Nasvet: Niz Python lahko poimenujete kar koli! Namesto my_string, bomo preprosto poimenovali naš niz Python s v naslednjem razdelku.

Dostop do znakov v nizu Python

Vsakemu znaku v nizu Python je dodeljen indeks, indeks pa se začne z 0 in mora biti celo število. Do znakov lahko dostopate na dva načina: (1) z uporabo pozitivnih celih števil in (2) z uporabo negativnih celih števil.

Za negativne indekse je indeks -1 se nanaša na zadnji element, -2 na predzadnji element itd. Če želite dostopati do obsega elementov v nizu, lahko uporabite operator rezanja, :.

Tukaj je ilustracija, ki vam pomaga razumeti, kako pozitivni in negativni indeksi delujejo v nizu Python:

Codementor Python String Python pomoč

Še enkrat, uporaba "Codementor" kot primer:


s = 'Codementor'
print(s[0])
print(s[1])
print(s[2])
print(s[3])
print(s[4])
print(s[5])
print(s[6])
print(s[7])
print(s[8])
print(s[9])

izhod:

C
o
d
e
m
e
n
t
o
r

Če želite dobiti enak rezultat, uporabite negativna cela števila na ta način:


s = 'Codementor'
print(s[-10])
print(s[-9])
print(s[-8])
print(s[-7])
print(s[-6])
print(s[-5])
print(s[-4])
print(s[-3])
print(s[-2])
print(s[-1])

Prav tako lahko dostopate do več znakov iz niza Python. Na primer:


s = 'Codementor'
print(s[:])
print(s[:4])
print(s[-6:])
print(s[2:5])

izhod:

Codementor
Code
mentor
dem

Zdaj poznate osnove dela z nizi Python, pogovorimo se o nekaterih najpogosteje uporabljenih metodah nizov Python.

Želite pospešiti svoje učenje Pythona? Poiščite pomoč mentorja za Python →

Metode nizov Python

Da bi razvijalcem omogočili hitrejše delo z nizi Python, so vgrajene bližnjice za manipulacijo izhoda niza. Te bližnjice se imenujejo nizovne metode Python. Metoda niza Python ne spremeni izvirnega niza. Namesto tega se uporablja za vrnitev novih vrednosti.

Najpogosteje uporabljene nizovne metode Python vključujejo capitalize(), lower(), upper(), join(), split(), find()in replace(). Python format() je še ena močna in pogosto uporabljena metoda nizov Python. Vendar ga zaradi njegove kompleksnosti tukaj ne bomo obravnavali. Izvedite več o format() iz Pythonove uradne dokumentacije!

Pregledali bomo sedem nizovnih metod Python in vključili a tabela vseh nizovnih metod Python na koncu vadnice.

capitalize() Metoda nizov Python

O capitalize() metoda string se uporablja, ko želite prvi znak besedilnega niza zapisati z veliko začetnico. Tukaj je primer:


s = "codementor speeds up your python learning process"
x = s.capitalize()
print (x)

izhod:

Codementor speeds up your python learning process

lower() Metoda nizov Python

lower() Metoda nizov Python je nasprotje upper(). Vse znake v nizu spremeni v male črke.


s = "CODEMENTOR HELPS solve your CODING problems!"
x = s.lower()
print(x)

izhod:

codementor helps solve your coding problems!

upper() Metoda nizov Python

upper() Metoda nizov Python je nasprotje lower(). Vse znake v nizu spremeni v velike črke.


s = "codementor has the best python tutors!"
x = s.upper()
print(x)

izhod:
CODEMENTOR HAS THE BEST PYTHON TUTORS!

(Res imamo najboljše Python mentorji in tutorji!)

join() Metoda nizov Python

O join()metoda vzame vse elemente v iterable in jih združi v en niz. Elemente lahko na primer združite v tulp ali v slovar. Recimo, da želite vse goste vaše zabave spraviti v niz, lahko uporabite naslednjo kodo in join() način združevanja in ustvarjanja seznama.


PartyGuests = ("Anna", "Allie", "Joy", "Chloe", "Ellyn")
x = ", ".join(PartyGuests)
print(x)

izhod:

Anna, Allie, Joy, Chloe, Ellyn

split() Metoda nizov Python

O split() metoda razdeli niz Python na seznam. Ločilo lahko določite, vendar je privzeto ločilo poljuben presledek.

Tu je preprost primer, ki vam bo pomagal razumeti, kako split() dela:

txt = "Find Python Help on Codementor Today"
x = txt.split()
print(x)

izhod:

['Find', 'Python', 'Help', 'on', 'Codementor', 'Today']

Običajno split() razdeli niz Python na seznamu na posamezne elemente. Vendar pa lahko niz razdelite na seznam z največ 2 elementoma. Evo, kako bi to lahko delovalo z uporabo # kot ločilo:


txt = "best#way#to#learn#python#is#to#find#a#mentor"
x = txt.split("#", 5)
print(x)

Rezultat bi bil videti nekako tako kot ta smešni seznam:

['best', 'way', 'to', 'learn', 'python', 'is#to#find#a#mentor']

find() Metoda nizov Python

O find() metoda se uporablja za iskanje prvega pojava določene vrednosti v nizu. Je skoraj identičen index() metoda, razen če vrednosti ni mogoče najti. Namesto prikazovanja -1je index() prikazi metod ValueError: substring not found.

Za to uporabimo »Codementor«:

txt = "Codementor"
x = txt.find("e", 4, 8)
print(x)

Ko zaženete zgornjo kodo, boste dobili rezultat 5. Običajno find() bi našel prvi pojav "e" v nizu, ki bi bil v našem primeru 3. Vendar pa je v zgornjem primeru zahteval "e" med položajem 4 in 8, zato je naš rezultat 5.

replace() Metoda nizov Python

O replace() metoda se uporablja za zamenjavo določene fraze z drugo podano frazo. Če ni določeno drugače, bodo vsi podani stavki v nizu Python zamenjani.

Poglejmo preprost primer replace():


str = "I love office work because office work is the best."
x = str.replace("office", "remote")
print(x)

Vidite, kaj smo počeli tam? Namesto "obožujem pisarniško delo" imamo zdaj:

I love remote work because remote work is the best

Mislim ... kdo ne mara dela na daljavo?

Zdaj pa poglejmo, kako bi delali s replace() če želimo zamenjati samo eno od besed v nizu Python:


str = "I love office work but going into the office to bond with my colleagues can be fun!"
x = str.replace("office", "remote", 1)
print(x)

izhod:


I love remote work but going into the office to bond with my colleagues can be fun!

V nizu sta dva »office«, vendar želimo zamenjati samo prvi »office« z »remote«. Z dodajanjem 1, smo zamenjali prvo pojavitev besede »pisarna«.

Zdaj obstaja veliko metod nizov Python, ki jih lahko uporabite za manipulacijo rezultatov katerega koli danega niza Python, vendar jih v tem članku ne bomo podrobno obravnavali vseh. Kot format() je izjemno pomembna in super zmogljiva metoda nizov Python, ki ji bomo posvetili še en članek format(). Seznam vseh nizovnih metod Python najdete v reference odsek!

⚠️ Opomba: Ne pozabite preveriti, ali spodaj navedene metode nizov Python delujejo z različico Python, s katero delate!

Ali težko razumete nizovne metode python? Poiščite pomoč mentorja za Python →

Pretvori seznam Python v niz

Preden preidemo na različne načine, kako lahko pretvorimo seznam Python v niz, na kratko poglejmo, kaj je seznam in dve različni vrsti seznamov.

Če poznate druge programske jezike, je seznam v Pythonu enakovreden matriki. Seznam Python je obdan z oglatimi oklepaji, medtem ko se za ločevanje predmetov na seznamu uporablja vejica (,). Glavna razlika med matriko in seznamom Python je, da matrike običajno vsebujejo homogene predmete, medtem ko Seznami Python lahko vsebujejo heterogene predmete.

Homogen seznam:

list=[‘a’,’b’,’c’]
list=[‘America’,’India’,’Taiwan’]
list=[1,2,3,4,5]

Heterogen seznam:

list=[2,"America",5.2,"b"]

Obstajajo štirje načini za pretvorbo seznama Python v niz:
- Uporaba join() Metoda nizov Python
– Uporaba Razumevanja seznama skupaj z join() Metoda nizov Python
- Uporaba map() Metoda nizov Python
– Uporaba iteracije skozi zanko for

Pregledali bomo vsako od teh metod:

Uporaba seznama Python za niz join() Metoda

O join() metoda lahko ustvari nize s ponovljivimi objekti. Element iterable (tj. seznam, niz in tuple) je mogoče združiti z ločilom nizov, da vrne nov verižni niz.

Skladnja: string.join(iterable)

In tukaj je primer spreminjanja seznama Python v niz:

""
inpseznam = ['Kodiranje', 'za', 'Vsi']
ven
str = " "

natisnitistr.join(inpseznam))
**Output:**

Kodiranje za vsakogar
""

Python seznam v niz z uporabo razumevanja seznama skupaj z join()

Zdaj z uporabo join() metoda za pretvorbo seznama Python v niz deluje, dokler podana iterable vsebuje elemente niza. Vendar, če seznam vsebuje tako niz kot celo število kot svoj element, bi morali pretvoriti elemente v niz med dodajanjem v niz. Tukaj je uporaba razumevanja seznama skupaj z join() prihaja.

""
iz vgrajenega uvoza str

inpseznam = ['Tam', 'so', 'več', 'kot', 10000, 'mentorji', 'kdo', 'lahko', 'pomagati', 'ti', 'učiti se', 'Python', ' na', 'Kodementor']
listToStr = ' '.join([str(elem) za elem v inp
seznam])

natisni (listToStr)
**Output:**

Na Codementorju je več kot 10000 mentorjev, ki vam lahko pomagajo pri Pythonu
""

Uporaba seznama Python za niz map() funkcija

Podoben string() Postopek, map() funkcija sprejema funkcije in ponovljive objekte, kot so seznami, tipi, nizi itd map() funkcija preslika elemente ponovljivega s ponujeno funkcijo.

Sintaksa za map(): map(function, iterable)

Iterable se vidijo kot argumenti v funkcijah map(). z map() funkcijo, je vsak element iterable (seznama) preslikan v dano funkcijo, da se ustvari seznam elementov. Nato bomo uporabili join() metoda za prikaz izhoda v obliki niza:

""
inpseznam = ['Get', 'Python', 'help', 'in', 'less', 'than', 6, 'minutes', 'on', 'Codementor']
listToStr = ' '.join(map(str, inp
seznam))

natisni (listToStr)
**Output:**

Pridobite pomoč za Python v manj kot 6 minutah na Codementorju
""

Seznam Python v niz z uporabo iteracije skozi zanko for

Za pretvorbo seznama Python v niz z uporabo zanke for se elementi vhodnega seznama ponovijo enega za drugim in dodajo v nov prazen niz.

Takole bi delovalo:
""

Funkcija za pretvorbo

def listToString(s):

out_str = "" # traverse in the string for ele in inp_str: out_str += ele # return string return out_str 

Koda voznika

inpstr = ['Codementor', 'is', 'SUPER']
natisni(listToString(inp
str))
""
izhod:


CodementorisAWESOME

Niste prepričani, kako pretvoriti seznam Pyton v niz in jih vroče uporabiti? Učitelj pythona je lahko koristen →

Pretvori Python int v niz

Pretvarjanje Python int v niz je veliko bolj enostavno kot pretvorba Python seznama v niz: uporabiti morate le vgrajeno str() funkcijo. Glede na navedeno obstajajo štirje načini za pretvorbo Python int v niz. Spodaj navedeni primeri veljajo za Python 3.

  • Uporaba str() funkcija
  • Uporaba ključne besede »%s«.
  • Uporaba .format() funkcija
  • Uporaba f-niza

Python int v niz z uporabo str() funkcija

Sintaksa: str(integer_value)

Koda je razmeroma preprosta in enostavna:

num = 100
print(type(num))
converted_num = str(num)
print(type(converted_num))

Python int v niz z uporabo ključne besede »%s«.

Skladnja: “%s” % integer


num = 100
print(type(num))
converted_num = "% s" % num
print(type(converted_num))

Uporaba Python int to string .format() funkcija

Skladnja: ‘{}’.format(integer)


num = 100
print(type(num))
converted_num = "{}".format(num)
print(type(converted_num))

Python int v niz z uporabo f-niza

⚠️ Opomba: Ta metoda morda ne bo delovala za Python 2.

Skladnja: f'{integer}’


num = 100
print(type(num))
converted_num = f'{num}'
print(type(converted_num))

Pretvorba Python int v niz je preprosta, vendar je izjemno uporabna v širšem kontekstu. Tukaj je primer, kako se zgornji načini pretvorbe Python int v niz lahko prikažejo v scenarijih resničnega sveta. Recimo, da želite natisniti podatke o tem, s koliko mentorji Pythona ste sodelovali pri Codementorju:


mentor_count = 30
print(type(mentor_count))
converted_num = str(mentor_count)
print("The number of mentors I have worked with in the last month: " + str(mentor_count))

izhod:

<class ‘int’>
The number of mentors I have worked with in the last month: 30

Pretvori bajte Python v niz

Pretvarjanje bajtov Python v niz je v resnici dekodiranje in vračanje niza bajtov nazaj v niz Unicode. Če na primer dekodirate bajtni niz "x61x62x63" in ga vrnete nazaj na UTF-8, boste dobili "abc".

Obstajajo 3 načini za pretvorbo bajtov Python v niz:
- Uporaba decode() Metoda
- Uporaba str() funkcija
- Uporaba codec.decode() Metoda

Uporaba bajtov Python za niz decode() Metoda

O decode() omogoča razvijalcem pretvorbo niza argumentov iz ene sheme kodiranja v drugo.

""
uvozni niz
podatki = b'Codementor'

print('nInput:')
tisk (podatki)
natisni (vrsta (podatki))

izhod = data.decode()

print('nOutput:')
tiskanje (izhod)
natisni (vrsta (izhod))

**Output:**

vhod:
b'Codementor'

izhod:

Codementor

""

Uporaba bajtov Python za niz str() funkcija

O str() funkcija Pythona vrne nizovno različico objekta.

""
podatki = b'Codementor'

print('nInput:')
tisk (podatki)
natisni (vrsta (podatki))

izhod = str(podatki, 'UTF-8')
print('nOutput:')
tiskanje (izhod)
natisni (vrsta (izhod))

**Output:**

vhod:
b'Codementor'

izhod:
Codementor

""

Uporaba bajtov Python za niz codec.decode() Metoda

""
uvoz kodekov

podatki = b'Codementor'

print('nInput:')
tisk (podatki)
natisni (vrsta (podatki))

izhod = codecs.decode(data)

print('nOutput:')
tiskanje (izhod)
natisni (vrsta (izhod))

**Output:**

vhod:
b'Codementor'

izhod:
Codementor

""

Pretvori Python Datetime v String

Pretvarjanje predmetov razreda datetime v niz Python ni težko z datetime.strftime() funkcijo. Težko je, da obstaja veliko različnih načinov za predstavitev datuma in časa, kar razvijalcem predstavlja izziv vedeti, kdaj uporabiti kodo katere oblike.

Python datetime v niz za trenutni čas

Uporaba datetime.strftime() funkcijo, lahko trenutni predmet datuma in časa spremenite v različne oblike zapisa nizov:

""
from datetime uvoz datum datetime

now = datetime.now() # trenutni datum in čas

leto = zdaj.strftime("%Y")
natisni ("leto:", leto)

mesec = zdaj.strftime("%m")
print("mesec:", mesec)

dan = zdaj.strftime("%d")
print("dan:", dan)

čas = zdaj.strftime("%H:%M:%S")
natisni ("čas:", čas)

Datumčas = zdaj.strftime("%m/%d/%Y, %H:%M:%S")
print("datum in čas:",datum
čas)
""

V času pisanja je to rezultat:


year: 2021
month: 07
day: 09
time: 05:22:21
date and time: 07/09/2021, 05:22:21

Python datetime v niz iz časovnega žiga

Zdaj, če morate Python datum in čas pretvoriti v niz na podlagi časovnega žiga, ki ste ga dobili, bi bila koda videti drugače. Tukaj je primer, kako bi lahko časovni žig pretvorili v različne oblike zapisa nizov.

""
from datetime uvoz datum datetime

časovni žig = 1625834088
datum_čas = datum in čas.fromtimestamp(časovni žig)

print("Datum time object:", date_time)

d = datum_čas.strftime("%m/%d/%Y, %H:%M:%S")
print("Datum in čas:", d)

d = datum_čas.strftime("%d %b, %Y")
print("Skrajšani datum:", d)

d = datum_čas.strftime("%d %B, %Y")
print("Celoten datum:", d)

d = datum_čas.strftime("%I%p")
print("Ura dneva:", d)
""

izhod:

Date time object: 2021-07-09 12:34:48
Date and time: 07/09/2021, 12:34:48
Shortened date: 09 Jul, 2021
Full date: 09 July, 2021
Hour of day: 12PM

Python datetime v kode zapisa nizov

V zgornjem primeru je bilo za prikaz datuma in časa na različne načine uporabljenih veliko kod formatov. Nekatere kode formata – %m, %d, %Y – so bolj intuitivne kot druge. Ne skrbi. Tudi najboljši razvijalci Pythona morajo pri kodiranju poiskati kode formata! Priložili smo vse kode formatov v reference oddelek.

S kodami oblikovanja lahko spremenite svoj časovni žig v katero koli obliko niza Python, ki jo želite!

Zaviti

Python String je temeljni del dela s Pythonom. Medtem ko je ta vadnica pokrivala nekatere osnove Python String – vključno z nekaterimi metodami nizov Python in različnimi načini za pretvorbo seznama Python, int, bajtov in datumskega časa v nize – je nizov Python veliko več. Python je razmeroma prijazen jezik za začetnike. Če pa želite postaviti trdnejše temelje in hkrati pospešiti svoje učenje, delo z a Python učitelj bi bilo ključno. Poleg tega delo na nekaterih Python projekti premostitev vrzeli med teorijo in uporabo v resničnem svetu bi pomagala utrditi koncepte, skozi katere smo šli v tej vadnici!

Če se vam je ta vadnica zdela koristna, jo všečkajte in jo delite s tistimi, za katere menite, da bi jim branje koristilo! Komentirajte spodaj, da nam sporočite, kaj mislite o vadnici 🤓

Izboljšajte svoje znanje Pythona s sodelovanjem s strokovnjaki za razvijalce Pythona →


Reference

Tabela nizovnih metod Python

Metoda Python String Opis
casefold() Podobno lower(), Pretvori niz v male črke.
center() Centrira izpis niza.
štet () Preštejte, kolikokrat se je spremenljivka pojavila v nizu.
kodiraj() Kodira niz z uporabo navedenega kodiranja. Če ni določen, bo uporabljen UTF-8.
konča z () Vrne true, če se niz konča s podano vrednostjo.
expandtabs() Uporablja t za ustvarjanje presledkov med znaki.
format () Oblikuje določene vrednosti v nizu.
format_map() Podobno format()
indeks () V nizu poišče določeno vrednost in vrne položaj, kjer je vrednost. Če je vrednost beseda v nizu stavka, bo indeks številka prvega znaka besede.
isalnum() Vrne True, če so vsi znaki v nizu črke in številke. Če je v nizu presledek, bi dobili False.
isalpha () Vrne True, če so vsi znaki v nizu v abecedi. Znaki, kot je ë, se štejejo za abecedo. Velja za vse jezike.
jedecimalno() Vrne True, če so vsi znaki v nizu decimalna mesta
isdigit () Vrne True, če so vsi znaki v nizu števke
isidentifier() Vrne True, če je niz identifikator. Identifikatorji lahko vsebujejo le alfanumerične črke ali podčrtaje. Identifikator se ne sme začeti s številko ali vsebovati presledkov.
islower() Vrne True, če so vsi znaki male črke.
isnumeric() Vrne True, če so vsi znaki številski.
je mogoče natisniti () Vrne True, če so vsi znaki v nizu natisljivi.
isspace() Vrne True, če so vsi znaki presledki.
naslov() Vrne True, če niz sledi pravilom naslova, kar pomeni, da se vse besede začnejo z veliko črko, ostale pa so male črke.
je zgornji() Vrne True, če so vsi znaki v nizu velike črke.
samo() Levo poravna podane znake niza in uporabi številke za označevanje količine prostora za ločevanje določenih spremenljivk od drugih znakov ali stavkov.
maketrans() Uporablja se za zamenjavo znakov z določenimi znaki.
particija () Poišče podani niz in razdeli niz v torko, ki vsebuje tri elemente. Navedeni element bo drugi element, prvi in ​​tretji pa bosta tisto, kar je pred in za navedenim elementom.
zamenjati () Zamenja podano vrednost v nizu z drugo podano vrednostjo v novem nizu.
rfind() V nizu išče določeno vrednost in vrne zadnji položaj, kjer je bila najdena. Indeks bo številka prvega znaka navedene vrednosti.
rindex() V nizu išče določeno spremenljivko in vrne zadnji položaj, kjer je bila najdena. Indeks bo številka prvega znaka podane spremenljivke.
rjust() Vrne desno poravnano različico niza. Nasprotje ljust().
rparticija() Podobno partition().
rsplit() Razdeli niz na seznam, začenši z desne. Če "max" ni podan, bo ta metoda vrnila enako kot split() metoda.
rstrip() Odstrani vse navedene presledke ali znake na koncu.
razdeli () Razdeli niz na seznam. Privzeto ločilo je poljuben presledek, vendar je ločilo mogoče določiti (tj ,).
splitlines() uporabljate n da razdelite niz na seznam.
začne z() Vrne True, če se niz začne s podano vrednostjo.
trak () Odstrani vse znake na začetku in na koncu navedenih spremenljivk. Če ni določeno drugače, so privzeti končni znaki presledki.
swapcase() Zamenja vse znake v nizu. Če je znak velika črka, se bo spremenil v malo črko in obratno.
naslov() Pretvori prvi znak vsake besede v velike črke.
prevesti() Vrne niz, kjer so nekateri določeni znaki nadomeščeni z znakom, opisanim v slovarju ali v tabeli preslikav.
zfill() Dodaja ničle (0) na začetek niza, dokler ne doseže podane dolžine.

Tabela kod formata

Koda oblike Opis Primer
%d Dan v mesecu kot številke z ničlo 01, 02, 03, 04 …, 31
%a Skrajšan delovnik ned, pon, sre, …, sob
%A Polno ime delavnika Nedelja, ponedeljek, …, sobota
%m Mesec kot številke z ničlo 01, 02, 03, …, 12
%b Skrajšan mesec jan, feb, … dec
%B Polno mesečno ime Januar, februar, …, december
%y Leto brez stoletja 00, 01, 02, …, 99
%Y Leto s stoletjem 0001, …, 2021, …, 9999
%H 24-urna ura 01, 02, 03, …, 23
%M Minute kot številke z ničlo 01, 02, …, 59
%S Drugič kot številke, podane na ničlo 01, 02, …, 59
%f Mikrosekunda, z ničlo na levi strani 000000, 000001, …, 999999
%l 12-urna ura 01, 02, …, 12
%p Lokacija je zjutraj ali popoldne DOPOLDNE POPOLDNE
%j Dan v letu 01, 02, 03, …, 366

Časovni žig:

Več od Blog Codementor