SAMOUCZEK JĘZYKA PYTHON ROZDZIAŁY   
Rozdział 4: Struktury danych.

1: Więcej o listach - 2: Używanie listy jako stosu - 3: Używanie listy jako kolejki
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 10. Porównanie sekwencji i innych typów .


Sekwencje mogą być porównane z innymi obiektami tego samego typu sekwencyjnego. Porównanie stosuje porządek leksykograficzny: na początku porównywane są pierwsze dwa elementy, a jeżeli się różnią to wynik porównania jest już określony. Jeżeli są równe, do porównania brane są następne dwa elementy itd., aż do wyczerpania sekwencji. Jeżeli porównywane elementy są tego samego typu sekwencyjnego, porównanie leksykograficzne przeprowadzane jest na nich rekursywnie. Jeżeli wszystkie elementy okażą się równe, sekwencje uważane są za równe. Jeżeli jedna sekwencja jest początkowym podzbiorem drugiej, to krótsza sekwencja jest mniejsza od dłuższej. Leksykograficzny porządek napisów ustanowiony jest za pomocą porządku ASCII dla poszczególnych znaków. Oto parę przykładów relacji porównania pomiędzy sekwencjami tego samego typu:


(1, 2, 3) < (1, 2, 4)
[1, 2, 3] < [1, 2, 4]
'ABC' < 'C' < 'Pascal' < 'Python'
(1, 2, 3, 4) < (1, 2, 4)
(1, 2) < (1, 2, -1)
(1, 2, 3) == (1.0, 2.0, 3.0)
(1, 2, ('aa', 'ab')) < (1, 2, ('abc', 'a'), 4)

Zauważcie, że można porównywać obiekty różnych typów. Wynik takiego porównania jest powtarzalny, lecz arbitralny: typy są porządkowane wg swoich nazw. Tak więc lista jest zawsze mniejsza niż napis ('list'<'string'), a napis jest zawsze mniejszy niż lista niemutowalna ('string'<'tuple'), itd. Typy liczbowe mieszane porównywane są wg ich wartości numerycznej, tak więc 0 równe jest 0.0, etc.

Strona główna - O Pythonie - Interpreter - Samouczek - Przykłady programów - Linki