חתיכת מחרוזת ב-Python

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