Python join list הוא התמקדות בקבוצה של מחרוזות באמצעות מפריד ספציפי כדי ליצור מחרוזת. לפעמים זה מועיל כאשר עליך להמיר רשימה למחרוזת. לדוגמה, המרת רשימת אלפאבית למחרוזת המופרדת בפסיקים לשמירה בקובץ.
Python Join List
אנו יכולים להשתמש בפונקציה join() של מחרוזת פייתון כדי לשרבב רשימת מחרוזות. הפונקציה מקבלת את iterable
כארגומנט, ורשימה היא iterable, לכן ניתן להשתמש בה עם רשימה. כמו כן, על הרשימה להכיל מחרוזות; אם תנסה לשרבב רשימת מספרים שלמים, תקבל הודעת שגיאה כמו TypeError: sequence item 0: expected str instance, int found
. בואו נסתכל על דוגמה קצרה לשרבוב רשימה בפייתון כדי ליצור מחרוזת.
vowels = ["a", "e", "i", "o", "u"]
vowelsCSV = ",".join(vowels)
print("Vowels are = ", vowelsCSV)
כאשר אנו מפעילים את התוכנית לעיל, היא תפיק הפלט הבא.
Vowels are = a,e,i,o,u
Python join two strings
ניתן להשתמש גם בפונקציה join() כדי לשרבב שני מחרוזות.
message = "Hello ".join("World")
print(message) #prints 'Hello World'
למה פונקציית join() נמצאת בתוך מחרוזת ולא בתוך רשימה?
שאלה אחת מתעוררת עם הרבה מפתחי Python היא למה פונקציית join() חלק ממחרוזת ולא מרשימה. האם התחביר הבא לא היה יותר קל לזכור ולהשתמש בו?
vowelsCSV = vowels.join(",")
קיימת שאלה פופולרית ב-StackOverflow על זה, כאן אני מציין את הנקודות החשובות ביותר מהדיונים שם שמוצדקות בעיניי.
הסיבה העיקרית היא שהפונקציה join() יכולה להיות בשימוש עם כל iterable והתוצאה תהיה תמיד מחרוזת, אז זה עושה טעם להכליל את הפונקציה הזו ב- API של מחרוזת במקום לשים אותה בכל מחלקות ה-iterable.
שילוב רשימה של סוגי נתונים מרובים
בואו נסתכל על תוכנית שבה אנו מנסים לשלב פריטים ברשימה המכילה סוגי נתונים מרובים.
names = ['Java', 'Python', 1]
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))
בואו נראה את הפלט של תוכנית זו: זה היה רק הדגמה שרשימה שמכילה סוגי נתונים מרובים לא יכולים להיות משולבים למחרוזת אחת עם פונקציית join()
. רשימה חייבת להכיל רק את ערכי המחרוזת .
פיצול מחרוזת באמצעות פונקציית join
ניתן להשתמש בפונקציית join()
כדי לפצל מחרוזת עם נפרד מסוים גם כן.
names = 'Python'
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))
זה מראה שכאשר מחרוזת מועברת כארגומנט לפונקציית join(), היא מפצלת אותה לפי תו ועם הנפרד המצויין.
בשימוש בפונקציית split()
בנוסף לפיצול עם פונקציית join()
, פונקציית split()
ניתן להשתמש גם בהפיצול מחרוזת שעובד כמעט באותו אופן כמו פונקציית join()
. בואו נסתכל על קטע קוד:
names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))
split = single_str.split(delimiter)
print('List: {0}'.format(split))
בואו נראה את הפלט של תוכנית זו: השתמשנו באותו הנפרד כדי לפצל שוב את המחרוזת חזרה לרשימה המקורית.
הפרדה רק n פעמים
הפונקציה split()
שספקנו בדוגמה הקודמת כוללת גם ארגומנט שני אופציונלי שמציין את מספר הפעמים שברצוננו לבצע את פעולת ההפרדה. הנה תוכנית לדוגמה להדגמת השימוש בו:
names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))
split = single_str.split(delimiter, 1)
print('List: {0}'.format(split))
בואו נראה את הפלט של התוכנית: הפעולת ההפרדה בוצעה הפעם רק פעם אחת כפי שציינו בפרמטר של פונקציית
split()
. זהו כל הנוגע לשילוב רשימה כדי ליצור מחרוזת ב-Python ושימוש בפונקציית split() כדי לקבל מחדש את הרשימה המקורית.
Source:
https://www.digitalocean.com/community/tutorials/python-join-list