### PRZYKŁADOWA LEKCJA - KOLEJKA
(uwaga totalnie skopiowane z https://pogromcykodu.pl/struktury-danych-w-pythonie-listy-i-krotki/)
#### CZYM SĄ STRUKTURY DANYCH?
Struktury danych służą uporządkowaniu danych, pozwalają na wykonywanie na nich operacji m. in. wyszukiwania, porównywania, filtrowania czy sortowania. W kolejnych artykułach poznasz struktury danych używane w Pythonie: listy, tuple, słowniki i zbiory.
#### CZYM JEST LISTA?
Wyobraź sobie parking. Co widzisz?
Każdy samochód stoi na konkretnym miejscu, możemy zauważyć kilka takich samych aut. Samochody przyjeżdzają i odjeżdzają, zmieniając “układ” parkingu.

Chciałabym zgromadzić dane na temat samochodów parkujących na tym parkingu. Hmm, jestem ciekawa, jakich będzie najwięcej 🤔.
Co mogę zrobić?
Stworzyć listę!
:::info
Listy są strukturą pozwalającą na przechowywanie elementów w sposób uporządkowany.
:::
```python
>>> cars = ['Maluch', 'Garbus', 'Audi', 'Garbus']
```
Każdy element w liście ma przyporządkowany numer – indeks, dzieki któremu jesteś w stanie dostać się do konkretnego elementu. Numery indeksów zaczynają się od zera! Aby pobrać element pierwszy, odwołaj się do indeksu 0.

Mając tę wiedzę, spróbujmy sprawdzić co mamy na pierwszym i drugim miejscu w liście cars. Aby pobrać element z listy, odwołaj się do konkretnego indeksu, umieszczając go w nawiasach kwadratowych.
```python=
>>> cars[0]
'Maluch'
>>> cars[1]
'Garbus'
```
Jeśli odwołasz się do nieistniejącego indeksu (w tym przypadku np. indeks 4) otrzymasz błąd IndexError.
```python=
>>> cars[3] #
'Garbus'
>>> cars[4]
IndexError: list index out of range
```
#### OD TYŁU
W Pythonie możesz odwołać się do elementów również za pomocą odwrotnych indeksów.

```python=
>>> cars[3]
'Garbus'
>>> cars[-1] # -1 - ostatni element
'Garbus'
```