Sobes.tech
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:

  1. Az első elemek összehasonlítása mindkét szekvenciában.
  2. Ha az elemek egyenlőek, a második elemek összehasonlítása.
  3. 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ő)