Indeksowanie w Pythonie

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!

indeksowanie

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)
Wynik:
Bill Gates
Możemy też z elementów łańcuchów układać nowe łańcuchy:
imie = "Bill"
nazwisko = "Gates"
razem = imie[-1] + nazwisko[1] + nazwisko[-1]
print(razem)
Wynik:
las
Our website is protected by DMC Firewall!