Python מתמכת בחיתוך מחרוזות כדי ליצור מחרוזות משנה. שים לב שמחרוזת Python היא לא ניתנת לשינוי, חיתוך יוצר מחרוזת חדשה מהמחרוזת המקורית והמחרוזת המקורית נשארת ללא שינויים.
חיתוך מחרוזת Python
תחביר החיתוך של מחרוזת Python הוא:
str_object[start_pos:end_pos:step]
החיתוך מתחיל עם מיקום ההתחלה (כולל) ומסתיים במיקום הסיום (לא כולל). הפרמטר של צעד משמש לציון הצעדים לקחת ממיקום ההתחלה עד המיקום הסיום. חיתוך מחרוזת Python תמיד עוקב אחר כלל זה: s[:i] + s[i:] == s עבור כל אינדקס 'i'. כל הפרמטרים הללו הם אופציונליים – הערך המוגדר כברירת מחדל של start_pos הוא 0, הערך המוגדר כברירת מחדל של end_pos הוא אורך המחרוזת והערך המוגדר כברירת מחדל של step הוא 1. בוא נסתכל על כמה דוגמאות פשוטות של פונקציית חיתוך מחרוזת כדי ליצור מחרוזות משנה.
s = 'HelloWorld'
print(s[:])
print(s[::])
פלט:
HelloWorld
HelloWorld
שים לב שמאחר ולא סופקו אף אחד מהפרמטרים לחיתוך, המחרוזת המשנה שווה למחרוזת המקורית. בוא נסתכל על כמה דוגמאות נוספות של חיתוך מחרוזת.
s = 'HelloWorld'
first_five_chars = s[:5]
print(first_five_chars)
third_to_fifth_chars = s[2:5]
print(third_to_fifth_chars)
פלט:
Hello
llo
שים לב שערך האינדקס מתחיל מ-0, לכן start_pos 2 מתייחס לתו השלישי במחרוזת.
הפיכת מחרוזת באמצעות חיתוך
אנו יכולים להפוך מחרוזת באמצעות חיתוך על ידי ספק את ערך הצעד כ -1.
s = 'HelloWorld'
reverse_str = s[::-1]
print(reverse_str)
פלט: dlroWolleH
בואו נסתכל על דוגמאות נוספות לשימוש בשלבים וערכי אינדקס שליליים.
s1 = s[2:8:2]
print(s1)
פלט: loo
כאן המחרוזת מכילה תווים מאינדקסים 2, 4 ו-6.
s1 = s[8:1:-1]
print(s1)
פלט: lroWoll
כאן ערכי האינדקסים מתקבלים מהסוף אל ההתחלה. המחרוזת נוצרת מאינדקסים 1 עד 7 מהסוף אל ההתחלה.
s1 = s[8:1:-2]
print(s1)
פלט: lool
חתיכת ה-Python פועלת גם עם אינדקסים שליליים, במקרה זה, נקודת ההתחלה מוחלפת ונקודת הסיום נכללת בתת-מחרוזת.
s1 = s[-4:-2]
print(s1)
פלט: or
חיתוך מחרוזת Python מתמודד עם אינדקסים שאינם בטווח באופן מתורבת.
>>>s = 'Python'
>>>s[100:]
''
>>>s[2:50]
'thon'
זהו כל מה שיש לקובץ הפונקציה לחיתוך מחרוזת ב-Python.
תוכלו לבדוק קובץ Python מלא ודוגמאות נוספות ב-Python מהמאגר השמור ב-GitHub שלנו.
Source:
https://www.digitalocean.com/community/tutorials/python-slice-string