הסבר על טופלס ומילון – Python Tuples are Immutable and Dictionaries
Tuples דומים לרשימה Lists והם למעשה Immutable זה אומר שהם לא משתנים ואי אפשר לשנות אותם כמו שאפשר לשנות רשימה
ההבדל בכתיבת הקוד היא שבמקום [] סוגריים מרובעות אתם מכניסים () סוגריים עגולים ואז הרשימה הופכת ל Tuple
לדוגמה
tuplesnames = ("Tal", "Noy", "Liya", 100) print(tuplesnames[2])
התוצאה
Liya
אם כך אז מה ההבדל? ההבדל הוא שכעת אם נכניס Mudles וננסה לשנות את הערכים לא נצליח
הוספתי כאן Apped לtupelsnames בשביל להוסיף את השם Amit
tuplesnames = ("Tal", "Noy", "Liya", 100) tuplesnames.append("Amit") print(tuplesnames)
נקבל את השגיאה
השגיאה אומרת כי ל tuple אין ערך הוספה ולכן לא ניתן להוסיף, אם הרשימה לא הייתה Tuple אז היה ניתן להוסיף כמו כאן
tuplesnames = ["Tal", "Noy", "Liya"] tuplesnames.append("Amit") print(tuplesnames)
התוצאה
['Tal', 'Noy', 'Liya', 'Amit']
Dictionaries
מילון זה סוג של רשימה רק שבמילון אתם מגדירים מה הערך שאתם רוצים לקבל מתוך הרשימה
על מנת להבין זאת טוב יותר
מילון עובד בתוך סוגריים מסולסלות {} כמו שכתבתי את השם הפרטי ואז : אחרי ואז בprint הגדרתי את מה שאני רוצה שיציג לי
dic = {"Name":"Tal","Surename":"Ben Shushan"} print(dic["Name"])
התוצאה
PS C:\Users\Tal\Documents\Python\Tal> python tal.py Tal
ניתן אפילו להכניס רשימה לתוך מילון בצורה הזו
למשל הכנסתי חברות, ואם אני רוצה להציג את מיקרוסופט אוסיף 2 בסוגרים מרובעות
dic = {"Name":"Tal","Surename":"Ben Shushan","Company":("Dell", "IBM", "Microsoft")} print(dic["Company"][2])
התוצאה
PS C:\Users\Tal\Documents\Python\Tal> python tal.py Microsoft
Unpacking
אם הייתי רוצה ליצור רשימה ואז להגדיר משתנה לכל שם ברשימה האופציה שלי הייתה צריכה להיות כזו
tuplesnames = ("Tal", "Noy", "Liya") ceo = tuplesnames[0] ciso = tuplesnames[1] coo = tuplesnames[2] print(ciso)
על מנת לצמצם את הרשימה הזו, נוכל לבצע unpacking בצורה הבאה
tuplesnames = ("Tal", "Noy", "Liya") ceo, ciso, coo = tuplesnames print(ciso)