Šis straipsnis padės plėtoti supratimą apie Python tuple, sąrašus, rinkinius ir žodynus. Pamatysime keletą jų įgyvendinimo pavyzdžių ir naudojimo atvejų tam tikroms užduotims. Kodo dalis bus rašoma VS Code. Jei dar nesate įdiegę VS Code arba norite pradėti nuo nulio, prašome apsilankyti mūsų ankstesniuose tinklaraščiuose.
Praeituose tinklaraščiuose matėme, kaip galime naudoti kintamuosius ir duomenų tipus Python. Taip pat ištyrėme keletą naudingų funkcijų, susijusių su duomenų tipais ir kintamaisiais.
Python yra galinga skriptų kalba. Ji turi daug įmontuotų duomenų struktūrų, kurias galima naudoti. Šios struktūros yra tokios galingos tvarkant duomenis, tačiau jas lengva įgyvendinti.
Šios pagrindinės struktūros yra keturių tipų – sąrašas, tuple, žodynas ir rinkinys.
Sąrašai yra įmontuoti Python. Jie yra keičiamieji, todėl elementai gali būti pridėti arba pašalinti iš jų, nekeičiant jų pradinio turinio, o elementai gali būti pasiekiami per indeksą.
Jie yra tokie bendri, kad gali būti naudojami bet kokio tipo objektams saugoti, nuo simbolių iki skaičių, net ir objektams. Be to, nereikia, kad visi elementai būtų to paties tipo, sąrašas gali turėti skirtingų tipų elementų.
Norint naudoti sąrašą, reikia inicializuoti kintamąjį su [].
Pavyzdžiui:
# Tuščias sąrašas empty_list = [] # Sąrašas su to paties tipo elementais same_type_list = [‘1’, ‘3’, ‘7’, ‘10’] # Sąrašas su skirtingų tipų elementais diff_type_list = [‘John’, ‘Dev’, 1.90, True]
Dabar žinome, kaip inicializuoti kintamąjį su sąrašu. Pažvelkime į keletą pagrindinių operacijų.
Ar kada nors norėjote pereiti per elementus sąraše, neperžiūrint jų vieną po kito? Python siūlo keletą naudingų funkcijų. Jos leidžia manipuliuoti jais, neperžvelgiant sąrašo ar nesukant per kiekvieną elementą.
Štai penkios dažniausiai naudojamos Python sąrašų operacijos:
1. len(list) – Ji grąžina sąrašo ilgį. Tai taip pat padeda iteracijai, kai norima pereiti per sąrašą.
Pavyzdžiui:
# Spausdiname sąrašo ilgį some_list = ['k', 'u', 'm', 'a', 'r'] print(len(some_list)) # Sąrašo peržiūra for i in range(len(some_list)): print(some_list[i])
# Išvestis 5 k u m a r
2. max(list) – Ji grąžina elementą, turintį didžiausią vertę nurodytame sąraše, jei nėra lygiųjų, ji grąžina klaidą.
Pavyzdžiui:
# Spausdiname didžiausią skaičių, saugomą sąraše num_list = [1, 2, 3, 4, 5, 12, 78, 900, 100] print(max(num_list))
# Išvestis 900
3. min(list) – ji grąžina elementą, turintį mažiausią vertę nurodytame sąraše, jei nėra lygiųjų, ji grąžina klaidą.
Pavyzdžiui:
# Spausdiname mažiausią skaičių, saugomą sąraše num_list = [1,2,3,4,5,12,78,900,100] print(min(num_list))
# Išvestis 1
4. sort(list) – Ši funkcija rūšiuoja visus šiuos duomenis ir pagal numatytuosius nustatymus juos išdėsto didėjimo/mažėjimo tvarka, tačiau jei perduodamas key parametras, ji rūšiuoja sąrašą pagal funkcijos įvertinimą elementams.
Reverse parametras kontroliuoja, ar rūšiuotas (didėjimo tvarka) sąrašas bus pateiktas toks, koks jis yra, ar jis bus apverstas, t.y., mažėjimo tvarka.
Sintaksė yra list.sort(reverse=True|False, key= some function)
Pavyzdžiui:
num_list = [1,2,3,4,5,12,78,900,100] print(num_list) num_list.sort() print(num_list) num_list.sort(reverse = True) print(num_list)
Išvestis: [1, 2, 3, 4, 5, 12, 78, 900, 100] [1, 2, 3, 4, 5, 12, 78, 100, 900] [900, 100, 78, 12, 5, 4, 3, 2, 1]
5. map(function, sequence) – Ši funkcija taiko funkciją kiekvienam sąrašo elementui. Sintaksė yra map(fun, iter). Čia ‘fun’ yra funkcija, kuri turėtų būti taikoma kiekvienam ‘iter’ elementui.
Pavyzdžiui:
def square(n): return n * n numbers = [1, 2, 3, 4] result = map(square, numbers) print(list(result))
išvestis: [1, 4, 9, 16]
Yra daug kitų funkcijų, skirtų sąrašams. Dabar pažvelkime, kas yra tuple.
Juos galima sukurti paprasčiausiai deklaruojant tuple skliaustuose, (), arba konvertuojant bet kokią seką į tuple naudojant įmontuotą konstruktorių tuple().
# Sukuriame tuščią tuple empty_tuple = () seq_set = {1,2,3} seq_list = [2,3,4,5] print(type(seq)) print(type(seq_list)) # Konvertuojame rinkinį į tuple seq_set_tuple = tuple(seq_set)
Išvestis: <class 'set'> <class 'list'> # Sukuriame tuščią tuple empty_tuple = () seq_set = {1, 2, 3} seq_list = [2, 3, 4, 5] print(type(seq_set)) print(type(seq_list)) # Konvertuojame rinkinį į tuple seq_set_tuple = tuple(seq_set) print(type(seq_set_tuple)) išvestis: <class 'set'> <class 'list'> <class 'tuple'>
Tuple yra panašūs į sąrašus, tačiau skiriasi tuo, kad tuple yra nekintami. Tai kodėl mes naudojame tuple.
Tuple yra nekintami, o sąrašai yra keičiamieji. Tai reiškia, kad tuple negali būti keičiami po jų sukūrimo, o sąrašai gali būti redaguojami, kad būtų pridėti arba pašalinti elementai.
Panašiai kaip sąrašas, tuple taip pat yra duomenų elementų seka, kuri nebūtinai yra to paties tipo.
Pavyzdžiui:
# Tuple su to paties tipo elementais same_type_list = ('1', '3', '7', '10') print(same_type_list)
Išvestis: ('1', '3', '7', '10')
# Sąrašas su skirtingų tipų elementais diff_type_list = ('John', 'Dev', 1.90, True) print(diff_type_list)
# Išvestis ('John', 'Dev', 1.9, True)
Mes mokysimės apie rinkinius ir žodynus artėjančiuose tinklaraščiuose.
Taip pat galite patikti mūsų JavaScript kursui nuo pradedančiojo iki pažengusio.
JavaScript ekspertas ir instruktorius, kuris moko IT skyrius. Jo pagrindinis tikslas yra padidinti komandos produktyvumą, mokant kitus, kaip efektyviai bendradarbiauti programuojant.
Kokie yra socialinių tinklų privalumai? Ar jie gali atvesti tikslingą srautą į jūsų verslo svetainę?…
Jei parduodate pasaulyje populiariausioje prekyvietėje, tikrai esate susirūpinę dėl pasiekimų rezultatų. Vienas būdas, kuris gali…
Rinkodaros specialisto efektyvumo matas yra konversijų skaičius, t. y. pageidaujamos veiklos, kurią atlieka reklamos pranešimų…
Kalbant apie dirbtinį intelektą muzikos gamyboje, jis geriausiai pasirodo bendradarbiaudamas, ypač kuriant atmosferinius ambientinius garsus,…
Šiandienos straipsnyje aptarsime bendradarbiavimo tarp Produkto savininko ir Scrum meistro temą. Produkto savininkas nustato aiškiai…
Kiekvienas lyderis turi tikslų, tokių kaip komandos kūrimas, siekiant pasiekti tinkamai aukštus rezultatus, įmonės tikslų…