למדנו כבר על פעולות בסיסיות עם מחרוזות ממש כאן ועכשיו אחרי שהתקדמנו קצת בחומר אפשר לחזור ולראות פעולות יותר מתקדמות שניתן לבצע עליהן.
הפעולות הראשונות שנסתכל עליהן ממש זהות לפעולות על רשימות שראינו קודם לכן, ואכן יש דמיון מסוים בין רשימות ומחרוזות, אבל צריך לשים לב שיש פעולות שניתן לבצע על רשימות שלא ניתן לבצע על מחרוזות ולהיפך...
אורך המחרוזת#
הפונקציה len
מחזירה את אורך המחרוזת:
חיתוך תת מחרוזת#
ניתן לחלץ תת מחרוזת מתוך מחרוזת באמצעות חיתוך, בצורה זהה לגמרי לחיתוך רשימות:
בנוסף אפשר לגשת למחרוזת בלולאת while:
שימו לב שניתן לחתוך תת-מחרוזת (בדומה לרשימה), אבל לא ניתן להחליף תת-מחרוזת (בשונה מרשימה):
במקרה כזה נקבל את השגיאה הבאה:
TypeError: 'str' object does not support item assignment
find
#
הפונקציה find
מוצאת את האינדקס הראשון של תת המחרוזת שמחפשים. אם תת המחרוזת לא קיימת, הפונקציה תחזיר
1-
.
פיצול מחרוזת לרשימה#
הפונקציה split
מפצלת מחרוזת לרשימת מחרוזות מבוססת מפריד:
תרגיל- פלינדרומים במשפט#
כתוב תוכנית Python שלוקחת משפט כקלט מהמשתמש. התוכנית שלך צריכה לפצל את המשפט למילים (בהנחה שהמילים מופרדות ברווחים) ולזהות ולהדפיס את כל המילים הפלינדרומיות במשפט בשורה אחת עם פסיקים שמפרידים בין המילים.
מילה פלינדרום היא מילה שקוראת את אותו הדבר קדימה ואחורה. לדוגמה, "radar" היא מילה פלינדרומית.
דוגמאת הדפסה:
Enter a sentence: some words civic radar level
['civic', 'radar', 'level']
כיוון לתרגיל
אתחלו רשימה ריקה ובעזרת לולאה בדקו מילה מילה במשפט. את המילים המתאימות הוסיפו לרשימה הסופית, ובסוף הדפיסו את הרשימה