שימוש במערכים אסוציאטיביים

Python:
שימוש במערכים אסוציאטיביים

איך ל:

יצירת מילון בפייתון היא פשוטה. יש להקיף זוגות מפתח-ערך בסוגריים מסולסלת {}, כאשר המפתחות והערכים מופרדים בנקודתיים:

# יצירת מערך אסוציאטיבי (מילון)
my_dict = {"name": "John", "age": 30, "city": "New York"}
print(my_dict)

פלט:

{'name': 'John', 'age': 30, 'city': 'New York'}

גישה לערך לפי המפתח שלו היא פשוטה:

# גישה לערך
print(my_dict["name"])

פלט:

John

הוספה או עדכון של אלמנטים נעשית על ידי הקצאת ערך למפתח:

# הוספת זוג מפתח-ערך חדש
my_dict["email"] = "[email protected]"
# עדכון ערך
my_dict["age"] = 31
print(my_dict)

פלט:

{'name': 'John', 'age': 31, 'city': 'New York', 'email': '[email protected]'}

לעבור על פריטי המילון:

# עיבוד דרך זוגות מפתח-ערך
for key, value in my_dict.items():
    print(f"{key}: {value}")

פלט:

name: John
age: 31
city: New York
email: [email protected]

נטילה עמוקה

מערכים אסוציאטיביים בפייתון, או מילונים, נוצרו כדי להציע מבנה נתונים לגישה ולעריכה יעילות של נתונים. להבדיל מרצפים, אשר ממופים לפי טווח של מספרים, מילונים ממופים לפי מפתחות, אשר יכולים להיות מסוג כלשהו שאינו משתנה. בחירה זו בעיצוב הופכת את המילונים למתאימים במיוחד לטבלאות חיפוש מהירות, שם המפתחות ממפים לערכים ייחודיים.

בהיסטוריה, מילוני פייתון היו מיושמים באמצעות טבלת גיבוב, מה שמבטיח שזמן המורכבות הממוצע לאחזור, הוספה, ומחיקת פעולות הוא O(1). החל מפייתון 3.6 והלאה, מילונים גם שומרים על סדר הוספת הפריטים, משלבים את היתרונות של טבלאות גיבוב עם הצפי של סדר הוספה הנראה במבני נתונים מסודרים.

למרות שמילונים הם גמישים ביותר, במקרים מיוחדים מסוימים, חלופות כמו collections.defaultdict או collections.OrderedDict (לפני פייתון 3.7) ייתכן שיהיו מועדפות. defaultdict הוא שימושי במיוחד כאשר אתה זקוק למילון שמחזיר ערך ברירת מחדל למפתחות שאינם קיימים, מפשט סוגים מסוימים של לוגיקה מותנית. עם זאת, עם השיפור וההתפתחות המתמדים של פייתון, הכיתה המובנית של המילון לעיתים קרובות נשארת הבחירה המועדפת למערכים אסוציאטיביים בשל עמידותה והנוחות שהיא מציעה מיד.