Junior
Hogyan hasonlítjuk össze a szekvenciákat Pythonban?
sobes.tech MI
Válasz az MI-től
A Pythonban a szekvenciák (karakterláncok, listák, tuple-ök) elemenként összehasonlítva kerülnek sorra, az első elemtől kezdve.
Összehasonlítási algoritmus:
- Az első elemek összehasonlítása mindkét szekvenciában.
- Ha az elemek egyenlőek, a második elemek összehasonlítása.
- A folyamat addig folytatódik, amíg különböző elemeket nem találunk, vagy egyik szekvencia ki nem fogy.
Az összehasonlítás eredményét az első különböző pár határozza meg:
- Ha az első szekvencia eleme "kisebb" a másodikénál, akkor az első szekvencia kisebbnek számít.
- Ha az első szekvencia eleme "nagyobb" a másodikénál, akkor az első szekvencia nagyobb.
Ha minden elem egyezik, és az egyik szekvencia a másik prefixe, akkor a hosszabb szekvencia számít nagyobbnek. Ha mindkettő ugyanakkora hosszúságú és minden elem egyezik, akkor egyenlőnek számítanak.
Az elemtípusok összehasonlíthatóak kell legyenek. A szövegek lexikografikus sorrendben (az ábécé szerint) kerülnek összehasonlításra. A számok érték szerint.
Példák:
# Sztringek összehasonlítása
print("apple" < "banana") # Igaz, 'a' < 'b'
print("cat" == "cat") # Igaz
print("dog" > "cat") # Igaz, 'd' > 'c'
# Listák összehasonlítása
print([1, 2, 3] < [1, 2, 4]) # Igaz, 3 < 4
print([1, 2, 3] == [1, 2, 3]) # Igaz
print([1, 2, 3] > [1, 2]) # Igaz, az első hosszabb
# Tuple-ök összehasonlítása
print((1, 2) < (1, 3)) # Igaz, 2 < 3
print((1, 2) == (1, 2)) # Igaz
print((1, 2, 3) > (1, 2)) # Igaz, az első hosszabb
# Az elemtípusok összehasonlíthatóak kell legyenek
# print([1] < "a") # Hiba TypeError
Összehasonlító operátorok:
<(kisebb)>(nagyobb)<=(kisebb vagy egyenlő)>=(nagyobb vagy egyenlő)==(egyenlő)!=(nem egyenlő)