Opublikowano: 26 marca 2019

Aktualizacja: 26 marca 2019

Lista to kolekcja elementów ułożonych w określonej kolejności. Elementami listy mogą być wszystkie dostępne w Python typy danych. Można je porównać z tablicami dostępnymi w innych językach programowania. W przeciwieństwie do łańcuchów znaków i krotek są mutowalne - zmienne. Listy można dowolnie zagnieżdżać tworząc przy tym bardziej skomplikowane kolekcje danych lub grupy obiektów. Są sekwencjami gdyż ich elementy są uporządkowane (od lewej do prawej strony). Listy Pythona to tak naprawdę Tablice z języka C, tak przynajmniej widzi je interpreter.

Tworzenie list:

l = []
l = [1, 2, 3, 4, 5, 6, 7]
l = ['jeden', 2, 'trzy', 4]
# lista zagnieżdżona;
lz_1 = [['a', 'b', 'c'], ['d', 'e', 'f' ]]
lz_2 = [['jeden', 2, ('trzy', 4) ], [5, 'sześć']]
lz_3 = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]]
# tworzenie listy z łańcucha znaków
list('35272') # wynik ['3', '5', '2', '7', '2']
# dostęp poszczególnych elementu listy lz_1
lz_1[1] # ['d', 'e', 'f' ]
lz_1[0][1] # 'b'

Podstawowe operacje na listach:

#sprawdzenie długości listy
l = ['jeden', 2, 'trzy', 4, 5, 'osiem', 666]
len(l) # wynik 4
len([1, 2, 3, 4, 5])
lz = [['a', 'b', 'c'], ['d', 'e', 'f' ]]
len(lz) # wynik 2
len(lz[0]) # wynik 3
# indeksowanie i wycinki
l[0], l[1:2], l[:3], l[5:], l[-1]
# modyfikacja elementów listy (modyfikacje na miejscu)
l[0] = 1, lz[1] = ('krotka', 'zamiast', 'listy')
l[:2] = [12789]
# kopia całej listy
l_2 = l[:]
# sprawdzenie wystąpienia elementu, zwraca True lub False
25 in l
# konkatenacja i powtórzenia
l + [50, 100, 150] # lista l pozostanie bez zmian, zostanie utworzona nowa
l + lz # lub ['jeden', 2, 'trzy', 4, 5, 'osiem', 666] + [['a', 'b', 'c'], ['d', 'e', 'f' ]]
l * 5 # lub ['jeden', 2, 'trzy', 4, 5, 'osiem', 666] * 5
# iteracja przez składniki listy
for x in [1, 2, 3, 4, 5]: print(x)

Operacje specyficzne dla list:
Wielkość listy nie jest określona, więc mogą z powodzeniem rosnąć oraz kurczyć się poprzez podawanie i usuwanie elementów.

# dodanie obiektu na koniec listy
l.append(128)
l.extend([332, 3243, 232])
# dodanie obiektu we wskazanym miejscu na liście
l.insert(2, 'ten teksy wskoczy na 2 pozycję listy licząc od 0')
# usunięcie obiektu będącego na wskazanej pozycji
l.pop(1)
del l[1]
del l[0:2]
#usunięcie ostatniego indeksu (elementu listy)
l.pop()
# usunięcie konkretnego obiektu
l.remove('ten teksy wskoczy na 2 pozycję listy licząc od 0')
# usunięcie listy poprzez wycięcie wszystkich elementów zapis jako pustej
l[:] = [] # lub po prostu l = []

Sortowanie list. Funkcja sort() domyślnie sortuje listę w porządku rosnącym, reverse() z kolei w porządku malejącym. Działanie obydwu funkcji można modyfikować poprzez argumenty zestawione z odpowiednimi słowami kluczowymi.

l = ['aaa', 'bbB', 'AbC', 'DfR']
l.sort() # wynik ['AbC', 'DfR', 'aaa', 'bbB']
l.sort(key=str.lower) # wynik ['aaa', 'AbC', 'bbB', 'DfR']
l.sort(key=str.lower, reverse=True) # wynik ['DfR', 'bbB', 'AbC', 'aaa']
sorted(l, key=str.lower) # wynik ['aaa', 'AbC', 'bbB', 'DfR']
l.reverse()
list(reversed(l))

Listy składane (ang. list comprehension):

# utworzenie nowej listy lc poprzez pobranie fragmentów listy lz
lz = [[1, 2, 3], [4, 5, 6 ]]
lc = [x[1] for x in lz] """ przeprowadza iteracje przez listy zagnieżdżone (for x in lz)
i pobiera z nich każdy drugi element [1] """
# utworzenie listy lc w sposób klasyczny
lc = []
for x in lz:
lc.append(x)
# operacje dodatkowe w trakcie tworzenia listy składanej
lc = [x[1] ** 2 for x in lz] # dodatkowe podniesienie do potęgi składników [1] listy lz,
wynik lc = [4, 25]
# powróżenia znaków
lc = [x * 2 for x in 'simple string']

Pomoc Pythona dotycząca list:

help(list)
dir(list)

Spis treści:

Brak komentarzy

Zobacz również:


note-image

1.1 Wprowadzenie

Python to niezwykle potężny, wieloplatformowy, interpretowany, interaktywny oraz wysokopoziomowy język programowania ogólnego zastosowania, który jest jednocześnie stosunkowo łatwy w nauce. Został stworzony przez holenderskiego programistę Guido van Rossuma (BDFL) w 1990 r., a po raz pierwszy opublikowany w roku następnym. ...

Czytaj więcej
note-image

1.2 IDE dla Pythona

IDE - Zintegrowane środowisko programistyczne dedykowane do języka Python: Sublime Text 3 Jest to wieloplatformowy, rozbudowany i wysoce konfigurowalny edytor tekstu napisany w C++ oraz Pythonie. Zalety: - Darmowy (od czasu do czasu wyświetla komunikat zachęcający do rejestracji płatnej wersji) ...

Czytaj więcej
note-image

2.1 Podstawowe typy danych

Python zawiera wbudowane typy danych będące integralną i nieodłączną częścią tego języka programowania. Obiekty wbudowane znacznie ułatwiają pisanie programów, korzystanie z nich pozwala zaoszczędzić mnóstwo czasu. Wbudowane typy danych są zoptymalizowane pod kątem wydajności, są również opakowane w zestaw metod ...

Czytaj więcej