Blog JSystems - z miłości do programowania

Krotki



Krotki w zasadzie podobne są bardzo do list. Właściwie to krotka jest taką listą której zawartości nie można zmieniać, w związku z czym nie posiada np. funkcji sortowania czy odwracania które działają przecież bezpośrednio na zbiorze. Nie posiadają też np. funkcji insert czy append. Zawartość krotki deklarujemy przy jej definicji, potem nie możemy już jej zmienić.


Skoro krotki są takimi ograniczonymi listami to właściwie po co nam one? Typ danych który po zaincjalizowaniu zmiennej jest "tylko do odczytu" może być czasami przydatny. Ponadto krotki działają szybciej niż listy, z tego też powodu wiele bardzo użytecznych funkcji z różnorakich bibliotek Pythona zwraca nam właśnie taki typ danych.


 


Deklaracja i uzupełnianie krotek danymi


Krotki podobnie jak listy mają dwa możliwe warianty deklaracji:


krotka=("Tytanowy Janusz","Molibdenowy Mateusz",777,"Przypadkowy tekst",[12,55,"koza"])
krotka2=tuple()


Przyjrzyjmy się pierwszej linii. Deklaracja krotki bardzo przypomina deklarację listy, gdyby nie to że używamy nawiasów okrągłych w miejsce kwadratowych. Jak widać w przykładzie, krotka podobnie jak lista może przechowywać elementy różnorakich typów, w tym np. listy. Piętro niżej pokazuję "krotkowy" odpowiednik "lista=list()".


 


Pobieranie wartości z krotek


Tu zasady są identyczne jak w przypadku list. Stosujemy te same konstrukcje do pobierania i iterowania po elementach. Nie będę powtarzał tych samych przykładów z wyjaśnieniami zmieniając tylko nawiasy kwadratowe na okrągłe, a słowo lista na krotka ponieważ zostało to już dosyć szczegółowo opisane w rozdziale dotyczącym list. Na takiej samej zasadzie działa sprawdzanie długości krotki (funkcją "len"),również sprawdzenie czy element znajduje się w krotce. Aby jednak nie kończyć tego tematu tym lakonicznym opisem, poniżej przedstawiam kilka przykładów:


madness=("Longer","jeśli","to","czytasz i nie jesteś","lamus","to","podrzuć","jakiegoś","dobrego","mema")
print(madness[2:7])
print(madness[0:5:2])
if "Longer" in madness:
    print("Wygrałem! :D")
for m in madness:
    print(m)

Przyjdź do nas na szkolenie z języka Python! Mamy szereg szkoleń w ofercie, od podstawowych po aplikacje webowe z użyciem Django, analizę danych, tesowanie, machine learning i wiele innych.
Sprawdź dostępne szkolenia Python
Zapisz się do newslettera aby otrzymywać najnowsze świeżynki pojawiające się na blogu!