W Pythonie są trzy struktury danych, które są sekwencjami, to znaczy przechowują dane w postaci uporządkowanych szeregów wartości. W sekwencji każda wartość jest na określonej pozycji. Dzięki temu możesz odwołać się do pojedynczej wartości w sekwencji używając numeru jej pozycji, czyli indeksu.
Indeks elementu sekwencji podaje się w nawiasach kwadratowych po samej sekwencji lub po nazwie zmiennej, która na tę sekwencję wskazuje. Najprostszymi sekwencjami są łańcuchy znaków - składają się bowiem z uporządkowanego szeregu znaków, z których każdy ma swoją określoną pozycję. Elementy w sekwencjach numerowane są od 0 (zera) np.
tekst = "informatyka"
print(tekst[2])
da wynik:
f
Dlaczego? Bo element łańcucha "informatyka" i indeksie [2] jest tak naprawdę trzecim elementem w tym łańcuchu znaków. Numeracja zaczyna się od zera!
Do elementów sekwencji możemy odwołać się także od prawej strony uzywając indeksów ujemnych.
tekst = "informatyka"
print(tekst[-2])
da wynik:
k
----
a = "abcdef"
a # "abcdef"
a[-1] # "f"
a[:] # "abcdef"
a[::] # "abcdef"
a[3:] # "def" (od index 3, do końca)
a[:4] # "abcd" (od początku do pozycji 4)
a[2:4] # "cd" (od pozycji 2, do pozycji 4)
Ponadto można zastosować dowolną z powyższych opcji ze zdefiniowanym rozmiarem kroku:
a[::2] # "ace" (co drugi element)
a[1:4:2] # "bd" (od index 1, do index 4, co drugi element)
Indeksy mogą być ujemne, w takim przypadku są obliczane od końca sekwencji
a[:-1] # "abcde" (od index 0, do ostatniego elementu)
a[:-2] # "abcd" (od index 0, do drugiego elementu od końca)
a[-1:] # "f" (od ostatniego elementu do końca)
Rozmiary kroków mogą być również ujemne, w takim przypadku iterujemy listę w odwrotnej kolejności:
a[::-1] # "fedcba" (całość od końca)
---
Możemy łączyć łańcuchy.
imie = "Bill"
nazwisko = "Gates"
razem = imie + " " + nazwisko
print(razem)
Bill Gates
imie = "Bill"
nazwisko = "Gates"
razem = imie[-1] + nazwisko[1] + nazwisko[-1]
print(razem)
las