איחוד רשימות ופיצול מחרוזות
בדוגמה הקודמת הצגנו כרשימת מחרוזות את תוכנו של מילון. כעת
נרצה להפוך את כל הרשימה למחרוזת אחת. לשם כך נשתמש במתודה
join של אובייקט המחרוזת. שימ/י לב: האובייקט
שממנו מופעלת המתודה הוא מחרוזת ממש – בין שני סימני מרכאות כפולות –
ולאו דווקא משתנה מחרוזת, דבר המעיד עד כמה נכונה הקביעה שבשפת פייתון
הכל הוא אובייקטים.
return
";".join(["%s=%s"
% (k, v) for k, v in params.items()])
המתודה join מקבלת בארגומנט
רשימת מחרוזות (המתודה לא עובדת אם ישנם אלמנטים שאינם מחרוזות
ברשימה), ומחזירה מחרוזת העשויה משירשור אברי הרשימה למחרוזת ארוכה,
כשהם מופרדים על ידי המחרוזת שממנה מופעלת המתודה.
דוגמה מסכמת ממחישה את פעולת המתודה:
>>> params = {"server":"mpilgrim",
"database":"master", "uid":"sa",
"pwd":"secret"} >>>
["%s=%s" % (k, v) for
k, v
in
params.items()] ['server=mpilgrim',
'uid=sa', 'database=master', 'pwd=secret'] >>>
";".join(["%s=%s" % (k, v) for
k, v
in
params.items()]) server=mpilgrim;uid=sa;database=master;pwd=secret
המתודה ההופכית ל-join היא כמובן המתודה
split.
>>> li = ['server=mpilgrim', 'uid=sa',
'database=master', 'pwd=secret'] >>> s =
";".join(li) >>>
s 'server=mpilgrim;uid=sa;database=master;pwd=secret' >>>
s.split(";") ['server=mpilgrim',
'uid=sa', 'database=master', 'pwd=secret'] >>>
s.split(";", 1)
['server=mpilgrim','uid=sa;database=master;pwd=secret']
העבירו את
הסמן מעל השורות המסומנות לקבלת הסברים
המתודה מבצעת פעולה
הפוכה לפעולת join
– היא מופעלת מאובייקט המחרוזת אותה רוצים לפצל,
ומקבלת כארגומנט את התוחם (delimiter) – סימן בודד או מחרוזת. יש לשים לב שהתוחם מוסר
לחלוטין ואינו מופיע במחרוזות שברשימת הפלט – המחרוזות שהן חלקי
המחרוזת המקורית, שהיו מופרדות ביניהן בתוחם.
המתודה split מקבלת כארגומנט
אופציונלי נוסף את מספר התוחמים המקסימלי שנרצה
להסיר.
|