מחרוזת string

March 25, 2019

מחרוזת string

בפייתון יש דרכים רבות לסווג מידע, לנהל מידע ולאכסן אותו, כאשר כל אכסניה מאפשרת טיפול שונה במידע (באנגלית אומרים manipulation אבל איכשהו אני לא משתחרר מהקונוטציה השלילית של המילה הזאת- מניפולציה). בתחילה הזכרנו סוג של מידע המסווג כמחרוזת. הדרכים לסווג מידע כמחרוזת הם לשים אותו בין גרש (') או גרשיים(") משני צדיו או להפעיל את הפקודה ( )str על סוג מידע אחר על מנת לסווג אותו כמחרוזת. נראה איך אפשר לטפל במחרוזות לאחר שיצרנו אותן –

 אפשר להדפיס את האיבר הראשון במחרוזת – האיבר הראשון מתחיל ב- 0  ולא באחד.

x="shalom"
print(x[0])

 

>>>

s

הדבר מלמד אותנו שמחרוזות כוללות index המסמן כל אחד ואחד מהאיברים במחרוזת (בהמשך נלמד להשתמש בפקודה index).

אפשר להדפיס טווח בתוך המחרוזת ולמעשה לבצע חיתוך של המחרוזת -

 

x="shalom"
print(x[0:4])

 

>>>

shal

בתוכנית למעלה אנו רואים שחיתוך הטווח (המיוצג על ידי שני מספרים לפני ואחרי נקודתיים) כולל את האיבר הראשון (0) האות s אבל אינו כולל את האיבר האחרון בטווח המסומן 4 (האות o), כלומר אנו מקבלים באופן הזה ארבעה איברים שהאינדקס שלהם הוא 0,1,2,3 (ולכן התוכנית הדפיסה את המילה shal) עניין זה יחזור על עצמו כאשר נלמד על רשימות, והוא מבלבל מעט, עד שמתרגלים אליו.

אנו יכולים להדפיס מחרוזת מהתחלה (איבר 0) ועד האיבר מספר 7 (לא כולל) בקפיצות של 2 וכך זה נראה -

x = '12345678'
print(x[0:7:2])

 

>>>

1357

 

אפשר גם להדפיס את המחרוזת מהתחלה עד הסוף [::], בעתיד נראה שגם לזה יש שימוש כשלעצמו, אבל כאן אנו מדגימים קפיצות של -1 (מינוס 1), מה שאומר שהמחרוזת מודפסת מהסוף להתחלה. משום ש- index של מינוס 1 מייצג את האיבר האחרון, כמו שמינוס 2 מייצג את האיבר הלפני אחרון. כך זה נראה -  

x="shalom"
print(x[::-1])

 

>>>

molahs

 

 

אפשר לחבר שתי מחרוזת –

 

x="shalom"
y="halechem"

print(x+y)

 

>>>

shalomhalechem

 

תוכנית שנייה

 

x="shalom"
y="halechem"
print(x+" "+y)

 

>>>

shalom halechem

 

בתוכנית הראשונה חיברנו שתי מחרוזות ובשנייה חיברנו שלוש מחרוזות, כאשר המחרוזת האמצעית היא פשוט מרווח" " -.

אפשר להפוך אותיות באנגלית לאותיות גדולות או קטנות – זה מאוד שימושי -

 

x = 'hello'
x = x.upper()
print(x)

x = x.lower()

print(x)

 

>>>

HELLO

hello

אפשר לספור כמה פעמים מופיע איבר מסוים במחרוזת – נגיד כמה פעמים האות l מופיעה במילה hello -

 

 

x = 'hello'

print(x.count('l'))

 

>>>

2

אפשר למדוד את אורך המחרוזת  -

 

x = 'hello'

print(len(x))

 

>>>

5

אפשר להחליף במחרוזת איבר מסויים באיבר אחר – כך למשל האות l  במחרוזת תהפוך ל- t -

 

 

x = 'hello'
x = x.replace('l', 't')
print(x)

 

>>>

hetto

אפשר למצוא מיקום של איבר (index) בתוך מחרוזת (אם מופיע כמה פעמים זה נותן רק את המיקום של האיבר הראשון) -

 

 

x = 'shalom'
print(x.index('a'))

 

>>>

2

החסרון הוא שאם מה שמחפשים לא נמצא במחרוזת מקבלים הודעת שגיאה. על מנת להימנע משגיאה אפשר להשתמש גם ב- (('print(x.find('h כך, במקרה שמה שמחפשים לא נמצא במחרוזת, מקבלים את ה ערך -1(מינוס 1) ולא הודעת שגיאה.

יש דרך מקוצרת להכפיל מופע של מחרוזת – פשוט כותבים את זה כתרגיל כפל -

x = 't'
x = x*3
print(x)

 

>>>

ttt

Please reload

Please reload

רעננו את הדף והקליקו למעבר לנושא הבא: