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

להלן שלוש דוגמאות:
'a-b-c-d-e-f-g-h'
,k=2
וsep='-'
צריך לפצל ל['a-b', 'c', 'd', 'e', 'f', 'g', 'h']
'helloxxxworldxxxpythonxxxisxxxgreat'
,k=3
וsep='xxx'
צריך לפצל ל['helloxxxworldxxxpython', 'is', 'great']
- תיק גבול:
'a-b'
,k=100
וsep='-'
צריך לפצל ל['a-b']
👉 הדרכה קשורה: Python פיצול מחרוזת לאחר התרחשות שנייה
פִּתָרוֹן
ניתן לפצל מחרוזת לאחר המופע ה-k של תו נתון בשלושה שלבים:
- ראשית, פצל את כל המחרוזת באמצעות המפריד המפריד פנימה
s.split(sep)
. - שנית, שלב את ה-k האלמנטים הראשונים של הרשימה המפוצלת שהתקבלה באמצעות ה-
sep.join()
קריאת שיטה. - שלישית, השתמש פִּלוּחַ ו רשימה שִׁרשׁוּר כדי ליצור רשימת תוצאות חדשה.
הקוד הבא יוצר פונקציה שמקבלת כקלט מחרוזת 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% שלי אקדמיית המייל בחינם עם דפי רמאות ותוכן למידה קבוע!

תוך כדי עבודה כחוקר במערכות מבוזרות, ד"ר כריסטיאן מאייר מצא את אהבתו להוראת סטודנטים למדעי המחשב.
כדי לעזור לתלמידים להגיע לרמות גבוהות יותר של הצלחה ב-Python, הוא הקים את אתר החינוך לתכנות Finxter.com. הוא מחבר ספר התכנות הפופולרי Python One-Liner (NoStarch 2020), מחבר שותף של הפסקת קפה פייתון סדרת ספרים בהוצאה עצמית, חובבת מדעי המחשב, סוֹפֵר בִּלתִי תָלוּיובעלים של אחד מ-10 הגדולים ביותר בלוגים של פייתון עוֹלָמִי.
התשוקות שלו הן כתיבה, קריאה וקידוד. אבל התשוקה הגדולה ביותר שלו היא לשרת קודנים שואפים דרך Finxter ולעזור להם לשפר את כישוריהם. אתה יכול הצטרף לאקדמיית האימייל החינמית שלו כאן.
קישור לכתבת המקור – 2022-10-20 10:43:06