SAMOUCZEK JĘZYKA PYTHON | ROZDZIAŁY |
Rozdział 4: Struktury danych. 4: Mechanizmy programowania funkcjonalnego - 5: Rozszerzenie składni listy - 6: Instrukcje del 7: Listy niemutowalne i sekwencyjne - 8: Słownik - 9: Jeszcze trochę o warunkach 10: Porównanie sekwencji i innych typów Lekcja 7. Listy niemutowalne i sekwencje.Listy i napisy mają wiele wspólnych właściwości, np. indeksacja, operacje wycinania. Są to dwa przykłady typów sekwencyjnych. Ze względu na to, że Python jest językiem rozszerzalnym, można dodawać inne typy danych. Istnieje jeszcze jeden typ danych sekwencyjnych: krotka Taka lista składa się z pewnej liczby elementów oddzielonych przecinkami, np.:
Jak widać, krotka pokazywana jest zawsze na wyjściu w okrągłych nawiasach, aby jeśli są zagnieżdżone, były interpretowane poprawnie. Mogą być wprowadzane z nawiasami lub bez nich, aczkolwiek nawiasy są niekiedy potrzebne (np. jeżeli krotka jest częścią jakiegoś długiego wyrażenia). Krotki mają dużo zastosowań, np. jako para współrzędnych (x,y), rekord pracowników z bazy danych itd. Nie jest możliwe przypisanie poszczególnym elementom takiej listy wartości, ale można to zasymulować poprzez wycinanie i sklejanie. Pewien problem z takimi listami pojawia się jeżeli mają zawierać zero lub jeden element. Aby osiągnąć taki efekt trzeba użyć lekko pokręconej składni. Puste krotki tworzone są przez pustą parę nawiasów okrągłych; lista z jednym elementem poprzez wartość, po której następuje przecinek (nie wystarcza otoczyć pojedynczą wartość nawiasami okrągłymi). Brzydkie, ale efektywne. Na przykład:
Instrukcja
Takie coś nazywane jest, odpowiednio, krotki. Takie rozpakowywanie wymaga, aby lista zmiennych po lewej stronie miała tyle samo elementów, ile długość listy niemutowalnej. Zauważcie, że takie przypisanie jest kombinacją pakowania i rozpakowywania listy niemutowalnej!
Przez przypadek taką samą operację można powtórzyć dla zwykłej listy. Osiągamy to przez otoczenie listy zmiennych nawiasami kwadratowymi:
|
|