פייתון/פייתון גרסה 3/מילון

מבנהעריכה

מילון (dictionary) הוא טיפוס באמצעותו משייכים מפתח לערך. המפתחות במילון הם לא ממוינים ועם זאת ניתן לסרוק אותו באמצעות פונקצית for (כי הוא iterable).


מגדירים מילון בצורה:

d={}

כאשר items הם האיברים במילון. כל איבר הוא בצורה:

<key>:<value>

כאשר key הוא המפתח, וvalue הוא ערכו.


  • המפתח (key) חייב להיות ערך שלא ניתן לשינוי (immutable), הערך יכול להיות משתנה והמילון עצמו נחשב ערך אותו ניתן לשנות.

דוגמהעריכה

לטינית אנגלית
sapientia wisdom
ago do
vir man
filius son

נגדיר את המילים בלטינית להיות המפתחות של הערכים במילון:

>>> a={'sapientia':'wisdom', 'ago': 'do', 'vir':'man', 'filius':'son'}
>>>a
{'sapientia': 'wisdom', 'ago': 'do', 'vir': 'man', 'filius': 'son'}

דרכים ליצירת מילוןעריכה

  1. פונקצית dict.

ידנית באמצעות נקודתייםעריכה

a={'sapientia':'wisdom'}

שימוש בשיוויוןעריכה

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

>>> a=dict(a=1,b=2,c=3,d=4)
>>> print(a)
{'a': 1, 'b': 2, 'c': 3, 'd': 4}

לולאת forעריכה

d = {}
lst = ['a','b','c','d','e']

for i in range(len(lst)):
   d[ lst[i]]=i

print(d)
>>>{'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4}

dict Comprehensionעריכה

בדומה לנקודתיים רק שהמילון נוצר באמצעות dict Comprehension

letters = ['a', 'b', 'c']
dict = {letters[i] : i + i for i in range(len(letters))}

print(dict)

>>>{'a': 0, 'b': 2, 'c': 4}

(ראה גם פייתון/פייתון גרסה 3/List Comprehension)

הוספת ושינוי מפתחעריכה

>>> d={a:1,b:2,c:3}
>>> d['d']=4
>>> d
{3: 1, 4: 2, 5: 3, 'd': 4}

>>> d={a:1,b:2,c:3}
>>> d[a]=1232
>>> d
{3: 1232, 4: 2, 5: 3}

מינוי מפתחות ראה פונקצית sort

שליפת ערכים ושימוש באינדקסעריכה

שליפת מפתח מהמילוןעריכה

>>> a={'sapientia':'wisdom', 'ago': 'do', 'vir':'man', 'filius':'son'}
>>> list(a.keys())
['sapientia', 'ago', 'vir', 'filius']

שליפת ערך מהמילוןעריכה

>>>a['ago']
'do'
>>>

נשם לב כי שליפת איברים היא באמצעות ערך להבדיל מרב היישומים שעד כה השתמשנו אשר שלפו ערך על פי מיקומו.

unpackingעריכה

>>> d={'a':1,'b':3,'c':'4'}
>>> x,y,z = d
>>> x
'a'
>>> y
'b'
>>> z
'c'

סריקת מילוןעריכה

הדפסת מפתחותעריכה

d = {'a':'1', 'b':'2', 'c':'3'}

# print keys:
for key in d:
    print('key num is', key)
>>>key num is a
>>>key num is b
>>>key num is c

הדפסת ערכיםעריכה

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

d = {'a':'1', 'b':'2', 'c':'3'}

for key in d:
    print('vaule num is', d[key])

אפשרות נוספת:

d = {'a':'1', 'b':'2', 'c':'3'}

#print vaules:
for vaule in d.values():
    print('vaules are:', vaule)
>>>vaules are: 1
>>>vaules are: 2
>>>vaules are: 3

הדפסת מפתחות וערכיםעריכה

d = {'a':'1', 'b':'2', 'c':'3'}

#print key and vaule
for (key, vaule) in d.items():
    print('key and vaule', key, vaule)

key and vaule a 1
key and vaule b 2
key and vaule c 3

inעריכה

d = {'a':'1', 'b':'2', 'c':'3'}
'a' in d
>>>True

סריקת מחרוזת באמצעות מילוןעריכה

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

ראה גםעריכה