目次
1. Sissejuhatus
Python on lühike, kuid võimas programmeerimiskeel, mida kasutatakse paljudes valdkondades. Stringide võrdlemine on üks põhilisi operatsioone, mida vajatakse andmete kontrollimisel, tingimuslausetes ja isegi otsingualgoritmides. Selles artiklis käsitleme stringide võrdlemise põhilisi meetodeid kuni keerukamate tehnikateni, kasutades konkreetseid näiteid. Nii saad aru stringide võrdlemise alustest ja omandad oskuse neid rakendada reaalses programmis.2. Stringide võrdlemise põhitõed
Pythonis saab stringe võrrelda lihtsate võrdlusoperaatorite abil. Nagu numbrite puhul, kasutatakse ka stringide puhul operaatoreid==
, !=
, >
, <
.Stringide võrdlemine võrdlusoperaatoritega
Allolev kood näitab, kuidas võrrelda stringide võrdsust ja suurust.# Võrdleb, kas stringid on võrdsed
str1 = "apple"
str2 = "banana"
print(str1 == str2) # False
print(str1 != str2) # True
==
kontrollib, kas stringid on identsed, samas kui !=
kontrollib, kas need on erinevad. Operaatorid <
ja >
võrdlevad stringe tähestikulises järjekorras.Tähtsusetundlikkuse eripärad
Stringide võrdlemisel eristab Python suuri ja väikesi tähti. Näiteks ‘a’ peetakse suuremaks kui ‘A’. See võib anda ootamatuid tulemusi.print("a" > "A") # True
print("apple" > "Banana") # True
Selliste olukordade vältimiseks saab kasutada meetodeid, mis eiravad suur- ja väiketähti, mida käsitleme hiljem.
3. Osaliste stringide võrdlemine
Python pakub ka võimalusi kontrollida, kas stringid sisaldavad osaliselt kattuvaid juppe. Siin tutvustamein
operaatorit ning meetodeid startswith
ja endswith
.Osaline vastavus in
operaatoriga
in
võimaldab kontrollida, kas üks string sisaldub teises.sentence = "Python is great!"
print("Python" in sentence) # True
print("java" in sentence) # False
startswith
ja endswith
meetodid
startswith
kontrollib, kas string algab kindla mustriga, ning endswith
kontrollib, kas see lõpeb kindla mustriga.filename = "example.txt"
print(filename.startswith("ex")) # True
print(filename.endswith(".txt")) # True
4. Täpsemad stringide võrdlemise meetodid
Lisaks lihtsatele võrdlusoperaatoritele saab Pythonis stringe võrrelda keerukamate tingimuste põhjal. Siin vaatame regulaaravaldiseid ja juhtumitundlikkuse eiramist.Võrdlemine regulaaravaldise abil
Regulaaravaldised võimaldavad kontrollida, kas string vastab kindlale mustrile.re
mooduli abil saab kasutada funktsioone re.search
ja re.match
.import re
pattern = r"d{3}-d{4}-d{4}"
text = "My phone number is 123-4567-8901."
match = re.search(pattern, text)
if match:
print("Pattern found:", match.group())
else:
print("Pattern not found")
Suur- ja väiketähtede eiramine
Kui soovid võrrelda stringe sõltumata tähtede suurusest, kasutalower()
või upper()
meetodeid.str1 = "Hello"
str2 = "hello"
print(str1.lower() == str2.lower()) # True

5. Hägusate stringide võrdlemine
Kui stringid ei pea olema identsed, vaid sarnased, saab kasutada teeke nagudifflib
või fuzzywuzzy
.Sarnasuse arvutamine
difflib
moodul võimaldab arvutada kahe stringi sarnasuse määra.import difflib
str1 = "apple"
str2 = "aple"
similarity = difflib.SequenceMatcher(None, str1, str2).ratio()
print(f"Similarity: {similarity * 100:.2f}%") # Similarity: 88.89%
6. Parimad praktikad stringide võrdlemisel
Stringide võrdlemisel on oluline tagada täpsed ja efektiivsed tulemused.Tühikute eemaldamine
Liigsed tühikud võivad põhjustada vale tulemuse.strip()
eemaldab need stringi algusest ja lõpust.str1 = " hello world "
str2 = "hello world"
print(str1.strip() == str2) # True
Locale ja Unicode
Mitmekeelse süsteemi puhul tuleb arvestada locale’i ja Unicode’i kodeeringut, et võrdlused annaksid õiged tulemused.
7. Kokkuvõte ja praktiline rakendamine
Pythonis saab stringe võrrelda nii lihtsate kui ka keerukate meetoditega. Põhitõdede mõistmise järel saab kasutada regulaaravaldisi ja teeke keerulisemate probleemide lahendamiseks.Praktilised rakendused
Näiteks võib kasutaja sisestatud päringuid filtreerida regulaaravaldiste abil või parandada sisestusvigu automaatseltdifflib
abil. Stringide võrdlemise oskust saab rakendada andmetöötluses ja analüüsis tõhusalt.