[Python] Listy

opublikował: Nikowski, 2014-01-06

Listy są spotykane w niemal każdym języku wysokiego poziomu, ze względu na to, że często wielkość danych jest generowana w czasie działania programu i nie można jej w rozsądny sposób określić w kodzie.

By zadeklarować listę wystarczy napisać:

lista = ["to", "jest", "przyklad", "listy", "w", "pythonie"]

lub też:

pusta_lista = []

Listy w pythonie, podobnie jak w innych językach programowania, np. w C, są ideksowane od zera. Dostęp do pierwszego do pierwszych trzech elementów więc odbywa się w następujący sposób:

>>> lista[0]

'to'

>>> lista[1]

'jest'

>>> lista[2] 'przyklad'

To, czym wyróżnia Pythona od innych języków jest możliwość dos?ępu do listy od końca lub też wycięcia jej listy bezpośrednio z poziomu akcesora:

>>> lista[-1]

'pythonie'

>>> lista[-2]

'w'

>>> lista[-3]

'listy'

>>> lista[-3:]

['listy', 'w', 'pythonie']

Na końcu listy możemy bez problemu wstawić dodatkowe elementy, które wcale nie muszą być takiego samego typu jak poprzednie elementy, na przykład bez problemu możemy dodać liczbę zmiennoprzecinkową:

>>> lista.append(2.7)

>>> lista

['to', 'jest', 'przyklad', 'listy', 'w', 'pythonie', 2.7]

Istnieje również możliwość rozszerzenia listy o drugą listę:

>>> druga_lista = ['ale to', 'tutaj', 'byc', 'nie', 'powinno']

>>> lista.extend(druga_lista)

>>> lista

['to', 'jest', 'przyklad', 'listy', 'w', 'pythonie', 2.7, 'ale to', 'tutaj', 'byc', 'nie', 'powinno']

Aby określić, na którym miejscu jest słowo 'nie' wystarczy wpisać:

>>> lista.index('nie')

10

Wynik może być jednak nieco mylący, ponieważ gdy ręcznie policzymy wychodzi nam, że słowo nie, znajduje się na 11 pozycji. Musimy jednak pamiętać, że w pythonie, podobnie jak w C, liczymy od zera, dlatego lista[10] da nam element, którego się spodziewamy, czyli 'nie'.
Python pozwala nam na usuwanie elementów z listy na dwa sposoby. Możemy na przykład zdecydować, że chcemy skasować najpierw słowo 'nie', a następnie pierwszy element listy:

>>> lista.remove('nie')

>>> lista

['to', 'jest', 'przyklad', 'listy', 'w', 'pythonie', 2.7, 'ale to', 'tutaj', 'byc', 'powinno']

>>> del lista[0]

>>> lista

['jest', 'przyklad', 'listy', 'w', 'pythonie', 2.7, 'ale to', 'tutaj', 'byc', 'powinno']

Listy to potężne narzędzie, które trzeba opanować by efektywnie programować w Pythonie.