Python – פיצול מחרוזת לאחר התרחשות K-th של מפריד – Finxter

פרסומת
MAGNEZIX מגנזיקס


אתגר קידוד

💬 שְׁאֵלָה: נתון מחרוזת Python. כיצד לפצל את המחרוזת לאחר המופע ה-k של המפריד (מחרוזת או תו)? במילים אחרות: כיצד להתעלם מההתרחשויות המפרידות הראשונות (k-1) בעת פיצול מחרוזת?

להלן שלוש דוגמאות:

  1. 'a-b-c-d-e-f-g-h', k=2ו sep='-' צריך לפצל ל ['a-b', 'c', 'd', 'e', 'f', 'g', 'h']
  2. 'helloxxxworldxxxpythonxxxisxxxgreat', k=3ו sep='xxx' צריך לפצל ל ['helloxxxworldxxxpython', 'is', 'great']
  3. תיק גבול: 'a-b', k=100ו sep='-' צריך לפצל ל ['a-b']

👉 הדרכה קשורה: Python פיצול מחרוזת לאחר התרחשות שנייה

פִּתָרוֹן

ניתן לפצל מחרוזת לאחר המופע ה-k של תו נתון בשלושה שלבים:

  1. ראשית, פצל את כל המחרוזת באמצעות המפריד המפריד פנימה s.split(sep).
  2. שנית, שלב את ה-k האלמנטים הראשונים של הרשימה המפוצלת שהתקבלה באמצעות ה- sep.join() קריאת שיטה.
  3. שלישית, השתמש פִּלוּחַ ו רשימה שִׁרשׁוּר כדי ליצור רשימת תוצאות חדשה.

הקוד הבא יוצר פונקציה שמקבלת כקלט מחרוזת sמספר שלם kומחרוזת מפריד sep ומפצל את המיתר ב- kהמופע ה-th של המפריד:

def my_split(s, k, sep):
    all_split = s.split(sep)
    return [sep.join(all_split[0:k])] + all_split[k:]


print(my_split('a-b-c-d-e-f-g-h', k=2, sep='-'))
# ['a-b', 'c', 'd', 'e', 'f', 'g', 'h']

print(my_split('helloxxxworldxxxpythonxxxisxxxgreat', k=3, sep='xxx'))
# ['helloxxxworldxxxpython', 'is', 'great']

print(my_split('a-b', k=100, sep='-'))
# ['a-b']

הסברים

הקוד עושה מספר דברים.

ראשית, זה יוצר רשימה all_split על ידי פיצול המיתר s באמצעות מפריד sep. לדוגמה, כאשר משתמשים בו על מחרוזת 'a-b-c-d-e-f-g-h' ו sep='-'זה יחזור ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'].

👉 הדרכה מומלצת: פיצול מחרוזת פייתון

שנית, הוא משלב את הראשון k אלמנטים באמצעות מחרוזת המפריד sep ביניהם בריצה sep.join(all_split[0:k]).

הדרכות מומלצות: 👇

שלישית, זה מכניס את התוצאה ל-a רשימה באמצעות סימון סוגריים מרובעים, כלומר, נקבל רשימה עם אלמנט מחרוזת אחד ['a-b'] לדוגמא שלנו.

👉 הדרכה מומלצת: כיצד ליצור רשימת Python?

רביעית, אתה משרשר את הרשימה הזו עם הנותרים all_split רשימה, תוך התעלמות מ-k תוצאות הפיצול הראשונות, שכבר מוזגו כדי להתעלם מהפיצול הראשון, על ידי שימוש בביטוי החיתוך all_split[k:].

בדוגמה שלנו, אנחנו מקבלים ['a-b'] ו ['c', 'd', 'e', 'f', 'g', 'h'] שמתחבר ל ['a-b', 'c', 'd', 'e', 'f', 'g', 'h'].

👉 הדרכות מומלצות: שרשור רשימה בפייתון

הצטרף אלינו בחינם!

תודה שקראת את המדריך הקצר הזה. כדי להמשיך ללמוד, אל תהסס להצטרף ל-100% שלי אקדמיית המייל בחינם עם דפי רמאות ותוכן למידה קבוע!




קישור לכתבת המקור – 2022-10-20 10:43:06

Facebook
Twitter
LinkedIn
Telegram
WhatsApp
Email
פרסומת
תכנון תשתיות רפואיות

עוד מתחומי האתר