איך להשוות מחרוזות ב-Python

הקדמה

ניתן להשוות מחרוזות ב-Python באמצעות האופרטורים לשוואה (==) והשוואה (<, >, !=, <=, >=). אין שיטות מיוחדות להשוואה של שני מחרוזות. במאמר זה, תלמד כיצד כל אחד מהאופרטורים פועל כאשר מתבצעת השוואת מחרוזות.

השוואת מחרוזות ב-Python משווה את התווים בשתי מחרוזות אחת אחרי השני. כאשר נמצאים תווים שונים, אז נערכת השוואת ערכי נקודת יוניקוד שלהם. התו עם ערך יוניקוד נמוך יותר נחשב לקטן יותר.

אופרטורי השוואה והשוואה ב-Python

הגדרת משתנה מחרוזת:

fruit1 = 'Apple'

הטבלה הבאה מציגה את התוצאות של השוואת מחרוזות זהות (Apple ל-Apple) באמצעות אופרטורים שונים.

Operator Code Output
Equality print(fruit1 == 'Apple') True
Not equal to print(fruit1 != 'Apple') False
Less than print(fruit1 < 'Apple') False
Greater than print(fruit1 > 'Apple') False
Less than or equal to print(fruit1 <= 'Apple') True
Greater than or equal to print(fruit1 >= 'Apple') True

שתי המחרוזות זהות לגמרי. כלומר, הן שוות. אופרטור השוואה ושאר שווה ל אופרטורים מחזירים True.

אם תשווה מחרוזות עם ערכים שונים, תקבל את הפלט ההפוך בדיוק.

אם תقارנו מחרוזות שמכילות את אותו תת מחרוזת, כמו Apple ו־ApplePie, אז המחרוזת הארוכה נחשבת לגדולה.

השוואת קלט משתמש לבדיקת שוויון באמצעות אופרטורים

קטע קוד זה לוקח ומשווה קלט מהמשתמש. לאחר מכן, התוכנית משתמשת בתוצאה של השוואה זו כדי להדפיס מידע נוסף אודות סדר האלפבית של מחרוזות הקלט. במקרה זה, התוכנית מניחה שהמחרוזת הקטנה יותר תישאר לפני המחרוזת הגדולה.

fruit1 = input('Enter the name of the first fruit:\n')
fruit2 = input('Enter the name of the second fruit:\n')

if fruit1 < fruit2:
    print(fruit1 + " comes before " + fruit2 + " in the dictionary.")
elif fruit1 > fruit2:
    print(fruit1 + " comes after " + fruit2 + " in the dictionary.")
else:
    print(fruit1 + " and " + fruit2 + " are the same.")

להלן דוגמה לפלט אפשרי כאשר אתה מזין ערכים שונים:

Output
Enter the name of first fruit: Apple Enter the name of second fruit: Banana Apple comes before Banana in the dictionary.

להלן דוגמה לפלט אפשרי כאשר אתה מזין מחרוזות זהות:

Output
Enter the name of first fruit: Orange Enter the name of second fruit: Orange Orange and Orange are the same.

הערה: כדי שדוגמה זו תעבוד, על המשתמש להזין או רק אותיות גדולות או רק אותיות קטנות לאות הראשונה של שתי מחרוזות הקלט. לדוגמה, אם המשתמש מזין את המחרוזות apple ו־Banana, אז הפלט יהיה apple באחרי Banana במילון, שגוי.

השוני הזה מתרחש מכיוון שערכי נקודות קוד Unicode של האותיות הגדולות תמיד קטנים מערכי נקודות קוד Unicode של האותיות הקטנות: ערך האות a הוא 97 וערך האות B הוא 66. תוכל לבדוק זאת בעצמך על ידי שימוש בפונקציה ord() להדפסת ערך נקודת הקוד Unicode של התווים.

מסקנה

במאמר זה למדת כיצד להשוות מחרוזות בפייתון באמצעות האופרטורים לשווא (==) והשוואה (<, >, !=, <=, >=). המשך את הלמידה שלך על מחרוזות בפייתון.

Source:
https://www.digitalocean.com/community/tutorials/python-string-comparison