در دیکشنری می توان برای فراخوانی اعضا از اندیس های مرکبی استفاده کرد دیکشنری مجموعه ای از کلید ها و مقادیر است که مانند کتاب دیکشنری انگلیسی عمل می کند که یک واژه کلید و ترجمه آن مقدار کلید است نام دیگر دیکشنری نگاشت است که کلیدی را به مقداری نگاشت می کند از کلاس dict برای دیشکنری در پایتون استفاده می شود کلید ها یکتا و می توانند هر مقداری باشند دیکشنری یک دنباله تغییر پذیر است برای ساخت آن از {} استفاده می شود و برای دسترسی به عضو آن از [] استفاده می شود که اندیس آن کلید های دیکشنری می باشد دیکشنری دنباله نامرتب است و در نتیجه می توان به آن عضو اضافه کرد :
ساخت دیشکنری :
dic = { <key> : <value > ... <key> : <value > }
یک مثال :
{ " America " : " Washington " , " Tehran" : " Iran " } = dic
- یک راه دیگر برای ساخت دیکشنری استفاده از متد () dict برای مثال :
aveDic = dict([ (100 , 15.5 ) , (200 , 18.5 ) ] )
- برای ساخت یک دیکشنری خالی از دستور زیر استفاده می شود :
a = {}
b = dict{}
کار بر روی یک دیکشنری :
- دسترسی به عناصر دیکشنری :
دستور ایجاد دیکشنری با dic :
dic = { " iran " : " Tehran " , "American " : " Washington" }
با استفاده از کلید به عنوان اندیس می توان مقادیر ان کلید را یافت برای مثال :
print (dic [ " Iran " ] )
عملگر in : وجود یا عدم وجود کلید را مشخص می کند برای مثال :
" Germany " in dic
تعیین طول دیکشنری ، از تابع () len استفاده می شود برای مثال :
(dic) len
دسترسی به اعضا با دستور FOR :
dic = { " iran " : " Tehran " , "American " : " Washington" }
for country in dic :
print (" { 0 : 10s } {1 : 10s}".format(country, dic[country]) )
حذف عنصر با del انجام می شود برای مثال :
del dic [" Iran " ]
برای اضافه کردن عنصر از عمل انتساب استفاده می شود برای مثال :
dic [" Iran " ] = " Tehran "
انواع متدهای کلاس dict :
- () Clear : این متد تمام عناصر دیکشنری را حذف می کند :
()d.clear
- ()get : کلیدی را به عنوان پارامتر می پذیرد و بازیابی کرده و اگر کلید در دیکشنری نباشد مقدار None خواهد بود
val = d.get(key)
- تابع () copy : برای ایجاد یک نمونه جدید از دیکشنری کار برد دارد این تابع زمانی استفاده می شود که یک دیکشنری را تغییر می دهد و اگر بخواهید نسخه اصلی را در آن نگه دارید برای مثال :
price = { " c++ " : 17500 , "c#" :130000, "database" : 12500 , "python' : 30000 }
price1 = price
price["c#"] = 20000
print(price1)
print(price)
حالا دستور زیر را ببینید :
price = { " c++ " : 17500 , "c#" :130000, "database" : 12500 , "python' : 30000 }
price1 = price.copy()
price["c#"] = 20000
print(price1)
print(price)
- تابع () items : کلید و مقدار دیکشنری را به صورت لیستی از چندتایی ها برمیگرداند ، به عنوان مثال :
price = { 'c++ ' : 17500 }
price.items()
dict_items(["c#",13000)])
- تابع () fromkeys : یک دنباله از کلیدها را دریافت کرده ، یک شی جدید دیکشنری با استفاده از آنها ایجاد می نماید ، یک آرگومان اختیاری دارد که از طریق آن می توان یک شی را به عنوان مقدار پیش فرض برای کلید ها تعیین کرد -
k = (1,2,3)
dict.fromkeys( k , " * " )
مقادیر k همان 1 2 3 هستند که کلید آنها ستاره * است
اگر کلیدهای این شی فاقد مقدار باشند باید در زمان دیگر به آنها مقدار داد به عنوان مثال دستورات زیر راببیند :
k = (0, 2, 6 )
num = { 1: "one" }
num.fromkeys(k)
num1 = num.fromkeys(k)
num1[0] = " Zero "
print(num1)
- تابع () pop : کلید گرفته و عضو دارنده کلید حذف می شود و مقدار آن را برمیگرداند به عنوان مثال ، دستورات زیر را ببنید :
num = {1:"one"}
num.pop(1)
print(num)
- تابع ()popitem : تابعی بدون آرگومان است که یک عضو از شی دیکشنری را به دلخواه حذف می کند و یک چندتایی به شکل ( Key - value ) بر می گرداند
- تابع ()setdefault : مقدار یک کلید را بر می گرداند
- تابع ()update : یک شی دیکشنری دریافت و کلید این شی در شی مقصد وجود داشته باشد مقادیر انها تغییر می دهد اگر کلید آرگومان در شی مقصد وجود نداشته باشد این اعضا را به شی مقصد اضافه می کند
- کاربرد For برای پیمایش دیکشنری :
با استفاده for و عملگر in می توان کلید های دیکشنری را پیمایش کرد و مثال :
num1 = { 1: "One", 2: "Two" }
for key in num1 :
print ( key, end = "\t" )
- ۰۲/۰۷/۱۲