פורסם: 05/12/2017 - 18:19
נושא ההודעה: פייתון: איך מגדירים משתנה שאמור לאחסן מילה בגדול משתנה?
|
אני צריך להגדיר משתנה שיכיל מילה - אוסף של תווים בעברית - בגודל משתנה.
צריך גם לעשות פעולות על המילה הזו: להוסיף/להוריד תווים וכו
אני מבין ש: Strings Are Immutable , כלומר זה לא מתאים לנתון משתנה
גם List לא נראה מתאים - יותר מתאים לאוסף של מילים.
אשמח לעזרה!
|
|
חזרה לתוכן הדיון |
פורסם: 05/12/2017 - 18:28
נושא ההודעה:
|
זה ש-Strings Are Immutable רק אומר שכשאתה עושה פעולה נוצר String חדש לא שהמשתנה חייב להצביע על אותו String לעולם ועד.
|
|
חזרה לתוכן הדיון |
פורסם: 05/12/2017 - 18:52
נושא ההודעה:
|
ציטוט: | זה ש-Strings Are Immutable רק אומר שכשאתה עושה פעולה נוצר String חדש לא שהמשתנה חייב להצביע על אותו String לעולם ועד |
ואני יכול להוסיף לו אותיות בסוף המילה או בהתחלה, למחוק או להחליף?
_________________ "אם אין קוטג' תאכלו מילקי" – אמרה המלכה טרם הואצה הגיליוטינה בקצב 9.8 מטר לשניה בריבועעעעעעעעע
You can take our sweet homes, even our cloths"
!But don't touch the streets, Ah, That's NO
"...The streets are our @world's compilable kernel
|
|
חזרה לתוכן הדיון |
פורסם: 05/12/2017 - 19:19
נושא ההודעה:
|
כשאתה עושה את זה, נוצרת מחרוזת חדשה, כמובן שאין בעיה להציב אותה שוב במשתנה המקורי:
קוד: | >>> s = 'hello'
>>> id(s)
139960134669232
>>> s += 'world'
>>> id(s)
139960134673072
>>> print(s)
helloworld
|
כמו שאתה רואה, ה-id שונה (מחרוזת אחרת), אך עדיין באותו משתנה.
|
|
חזרה לתוכן הדיון |
פורסם: 05/12/2017 - 19:42
נושא ההודעה:
|
הבנתי וזה יכול להתאים. ואני גם יכול לפנות לתוו מסוים במילה עם: s[i] ואולי ניתן למחוק תוו עם הפקודה הזו - איך?
אבל במחשבה שניה אפשר ליצור מערך חד מימדי > range של תווים ועליו לבצע מה שרוצים. זה בעצם אותו דבר...
תודה
_________________ "אם אין קוטג' תאכלו מילקי" – אמרה המלכה טרם הואצה הגיליוטינה בקצב 9.8 מטר לשניה בריבועעעעעעעעע
You can take our sweet homes, even our cloths"
!But don't touch the streets, Ah, That's NO
"...The streets are our @world's compilable kernel
|
|
חזרה לתוכן הדיון |
פורסם: 06/12/2017 - 15:47
נושא ההודעה:
|
ציטוט: | כשאתה עושה את זה, נוצרת מחרוזת חדשה, כמובן שאין בעיה להציב אותה שוב במשתנה המקורי: |
הבנתי שניתן לחבר מחרוזות, אבל כעת אני צריך למחוק תוו (אות) אחרונה במילה -
אני יודע למקם את התוו, כלומר היכן הוא נמצא מתחילת המילה - זה אפשרי בשיטה הזו או שדרושה דרך אחרת?
הביטוי הבא אינו עובד:
_________________ "אם אין קוטג' תאכלו מילקי" – אמרה המלכה טרם הואצה הגיליוטינה בקצב 9.8 מטר לשניה בריבועעעעעעעעע
You can take our sweet homes, even our cloths"
!But don't touch the streets, Ah, That's NO
"...The streets are our @world's compilable kernel
|
|
חזרה לתוכן הדיון |
פורסם: 06/12/2017 - 16:04
נושא ההודעה:
|
|
|
חזרה לתוכן הדיון |
פורסם: 06/12/2017 - 17:59
נושא ההודעה:
|
_________________ "אם אין קוטג' תאכלו מילקי" – אמרה המלכה טרם הואצה הגיליוטינה בקצב 9.8 מטר לשניה בריבועעעעעעעעע
You can take our sweet homes, even our cloths"
!But don't touch the streets, Ah, That's NO
"...The streets are our @world's compilable kernel
|
|
חזרה לתוכן הדיון |
פורסם: 07/12/2017 - 09:45
נושא ההודעה:
|
כמובן שזה עובד, אך חשוב יותר להבין איך זה עובד
|
|
חזרה לתוכן הדיון |
פורסם: 07/12/2017 - 12:07
נושא ההודעה:
|
ציטוט: | כמובן שזה עובד, אך חשוב יותר להבין איך זה עובד Smile |
אצלי שום דבר לא מובן מאליו.. בטח שלא בעניני תוכנה שחדשים לי
אם הבנתי נכון אז לפי התיעוד ולפי הסברכם כאן: מכיוון ש Strings Are Immutable כלומר לא ניתן לשינוי, אז צריך ליצור string חדש. וכמובן להשתמש ב syntax המתאים...
דרך אגב: זה רק בפייתון ככה שלא ניתן לשנות string? מענין מדוע?
_________________ "אם אין קוטג' תאכלו מילקי" – אמרה המלכה טרם הואצה הגיליוטינה בקצב 9.8 מטר לשניה בריבועעעעעעעעע
You can take our sweet homes, even our cloths"
!But don't touch the streets, Ah, That's NO
"...The streets are our @world's compilable kernel
|
|
חזרה לתוכן הדיון |
פורסם: 07/12/2017 - 13:47
נושא ההודעה:
|
ה-slice מטפל בהחזרת מחרוזץ ללא התו האחרון, נתתי לך קישור לתיעוד שמדבר על זה.
יש גם שפות אחרות בהן מחרוזות אינן ניתנות לשינוי (לדוגמא: כדי שיהיה ניתן להשתמש בהן ב-hashmap, כלומר dict), ביניהן Go, Erlang/Elixir, ג'אווה, C#, ג'אווהסקריפט.
_________________ הבלוג שלי
נערך לאחרונה על-ידי mksoft בתאריך 07/12/2017 - 14:54, סך-הכל נערך פעם אחת
|
|
חזרה לתוכן הדיון |
פורסם: 07/12/2017 - 14:27
נושא ההודעה:
|
ציטוט: | ה-slice מטפל בהחזרת מחרוזץ ללא התו האחרון, נתתי לך קישור לתיעוד שמדבר על זה. |
את זה הבנתי וכבר בצעתי "ברית מילה" למילה
מחרוזות: חשבתי שיש איזו מגבלה טכנית אבל ההסבר שלך הוא בכיוון שימוש של ישומים אחרים
תודה
_________________ "אם אין קוטג' תאכלו מילקי" – אמרה המלכה טרם הואצה הגיליוטינה בקצב 9.8 מטר לשניה בריבועעעעעעעעע
You can take our sweet homes, even our cloths"
!But don't touch the streets, Ah, That's NO
"...The streets are our @world's compilable kernel
|
|
חזרה לתוכן הדיון |
פורסם: 07/12/2017 - 14:54
נושא ההודעה:
|
|
|
חזרה לתוכן הדיון |
פורסם: 07/12/2017 - 16:37
נושא ההודעה:
|
כל העניין הזה של Immutable עשה לי כואב ראש.
בשביל מה זה טוב? performance ? מה זה החארטא הזה?
אני התייאשתי מפיתון :
קוד: | % python
Python 3.6.3 (default, Oct 24 2017, 14:48:20)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> id('bla')
140282109201800
>>> a='bla' ; id(a)
140282109201800
>>> b='bla' ; id(b)
140282109201800
>>> a='bla1';b=a;
>>> id(a)
140282109201912
>>> id('bla')
140282109201800
>>> import gc
>>> gc.collect()
0
>>> id('bla')
140282109262960
>>>
>>>
|
|
|
חזרה לתוכן הדיון |
|