دیکشنری

Dictionary ها نیز از جمله داده های چند قسمتی هستند آغاز Dictionary ها با { و پایان آنها با } مشخص میشود و داده های آن با علامت , از هم جدا می شوند در هر خانه و هر قسمت Dictionary علاوه بر داده , اندیس مربوط به آن نیز آمده است بر خلاف رشته ها , لیست ها , Tuple ها اندیس داده ها در Dictionary به دلخوه برنامه نویس مشخص می شود و اندیس داده ها علاوه بر عدد , رشته , tuple و هر داده غیر قابل تغییر نیز می تواند باشد. به کمک علامت : اندیس هر داده را مشخص می کنیم بدین ترتیب که داده در سمت راست علامت : و اندیس آن در سمت چپ علامت : نوشته می شود. قابل ذکر است که اندیس ها در Dictionary نمی تواند یک داده ی تغییر پذیر لیست , یا Dictionary باشد.

داده های درون Dictionary از هر نوع می تواند باشد.

{ 'ali':20 , 'mahdy':'m' , 22:11}

دسترسی به داده های درون Dictionary

جهت دسترسی به داده های درون Dictionary با قرار دادن اندیس داده ی مورد نظر درون [ ] در مقابل Dictionary این امر امکان پذیر است.

>>>D={ (1,2):11 , 'mahdy':'m' , 78:88 }
>>>D['mahdy']
'm'
>>>D[(1,2)]
11

توجه داشته باشید که ممکن است در اندیس داده های Dictionary اندیس های مثل هم وجود داشته باشد که در این صورت تنها مقدار اولین داده از سمت راست با همان اندیس نشان داده می شود و در حقیقت دیگر داده های موجود با آن اندیس از Dictionary حذف می شوند.

>>>d={ 'mahdy':'m' , 'python':'c' , 'mahdy':55 }
>>>d['mahdy']
55
>>>d
{'python': 'c', 'mahdy': 55}

اگر در مقابل Dictionary اندیسی قرار دهیم که در Dictionary وجود نداشته باشد پیغام خطا ظاهر می شود البته در این مورد استثنا نیز وجود دارد که به آن اشاره خواهیم کرد.

تغییر و افزودن داده به Dictionary

Dictionary ها از داده های تغییرپذیرند و می توان با علامت انتساب داده های هر اندیس را تغییر داد همچنین می توان داده ی جدیدی به همراه اندیس آن به Dictionary اضافه نمود

>>>d={'mahdy':'m' , 2:'ali' }
>>>d['reza']= 66
>>>d
{ 'mahdy':'m' , 2:'ali' , 'reza':66 }

توجه داشته باشید که اپراتور + و * برای Dictionary ها تعریف نشده است .

دستور del

با استفاده از این دستور می توان هر یک از داده های درون Dictionary و یا حتی کل متغیر را حذف کرد

>>>d={'mahdy':'m' , 2:'ali' }
>>>del d[2]
>>>d
{ 'mahdy':'m' }

تابع len()

این تابع یک داده ی چند قسمتی به عنوان پارامتر گرفته و تعداد خانه های این داده ی چند قسمتی را برمی گرداند یعنی حاصل تابع عدد صحیح است.

دستور for برای Dictionary

اگر در مقابل in در دستور for داده ی چند قسمتی Dictionary قرار گیرد for در هر بار چرخش اندیس های تعریف شده در Dictionary را در متغیر قبل از in قرار داده و وارد حلقه می شود. توجه داشته باشید که مسآله ترتیب داده ها در Dictionary مطرح نیست چرا که اندیس هر داده از سوی ما تعیین می شود. نکته مهم اینجاست که اگر داده ی چند قسمتی قرار گرفته در دستور Dictionary , for باشد نباید تعداد داده های درون آن در حلقه for تغییر کند در غیر این صورت پیغام خطا ظاهر می شود

متدهای مربوط به Dictionary

نحوه ی فراخوانی متد : نام متد + . + Dictionary

اگر d را یک Dictionary در نظر بگیریم

۱ d.clear( ) تمام داده های درون d حذف می شود
۲ d.copy( ) یک کپی از d برمی گرداند
۳ d.has_key(m) اگر اندیس m در d باشد True در غیر این صورت False برمی گرداند
۴ d.keys( ) لیستی از تمام اندیسها برگردانده می شود
۵ d.values( ) لیستی از تمام داده ها برمی گرداند

صفحه قبلی: پایتون
صفحه بعدی: PyGTK