دیکشنری یا فرهنگ لغت پایتون: به روزرسانی، مرتب سازی، کپی، آیتم ها
دیکشنری ها نمونه دیگری از ساختار داده هستند. دیکشنری برای نقشه یا پیوند دادن چیزهایی که می خواهید با کلید آن ها را ذخیره کنید ، استفاده می شود. دیکشنری در پایتون دقیقاً مانند دیکشنری در دنیای واقعی است. دیکشنری پایتون با دو عنصر کلید و مقدار تعریف می شود.
- کلید ها عنصر واحد خواهند بود.
- مقادیر می توانند یک لیست یا لیستی درون لیست دیگر ، اعداد و غیره باشند.
در این آموزش، موارد زیر را یاد خواهیم گرفت:
- متد های دیکشنری پایتون
- کپی دیکشنری
- به روز کردن دیکشنری
- حذف کلیدها از دیکشنری
- متد ()items دیکشنری
- مرتب کردن دیکشنری
- توابع داخلی ساخته شده دیکشنری پایتون
- متد ()len دیکشنری
- انواع متغیر
- متد ()cmp لیست پایتون
- (Dic(Str
ساختار دیکشنری پایتون:
Dict = { ‘ Tim’: 18, xyz,.. }
دیکشنری بین {} ذکر شده است ، در داخل این براکت ها، کلیدها و مقادیر تعریف شده اند. هر کلید از مقدار خود توسط (:) جدا می شود و عناصر با کاما از هم جدا می شوند.
ویژگی های کلیدهای دیکشنری
دو نکته مهم هنگام استفاده از کلیدهای دیکشنری وجود دارد:
- بیش از یک ورودی در هر کلید مجاز نیست (هیچ کلید تکراری مجاز نیست)
- مقادیر موجود در فرهنگ لغت می تواند از هر نوعی باشند در حالی که کلیدها باید مانند اعداد ، تاپل ها یا رشته ها تغییر ناپذیر باشند.
- کلید های لغت نامه حساس به مورد هستند _ کلید ها با نام مشابه اما با آیتم متفاوت به عنوان کلیدهای مختلف در دیکشنری های پایتون رفتار می کنند.
مثال پایتون ۲
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
print (Dict[‘Tiffany’])
مثال پایتون ۳
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
print((Dict[‘Tiffany’]))
- در کد ، نام دیکشنری “Dict” است.
- نام و سن شخص را در دیکشنری وارد کردیم ، که نام “کلید” و سن “مقدار” است.
- کد را اجرا کنید.
- سن tiffany را از دیکشنری بازیابی می کند.
متد های دیکشنری پایتون
کپی دیکشنری
می توانید کل دیکشنری را در دیکشنری جدید کپی کنید. به عنوان مثال ، در اینجا دیکشنری اصلی را در دیکشنری های جدید “Boys” و “Girls” کپی کرده ایم.
مثال پایتون ۲
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
Boys = {‘Tim’: 18,’Charlie’:12,’Robert’:25}
Girls = {‘Tiffany’:22}
studentX=Boys.copy()
studentY=Girls.copy()
print studentX
print studentY
مثال پایتون ۳
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
Boys = {‘Tim’: 18,’Charlie’:12,’Robert’:25}
Girls = {‘Tiffany’:22}
studentX=Boys.copy()
studentY=Girls.copy()
print(studentX)
print(studentY)
- دیکشنری اصلی (Dict) را با نام و سن پسران و دختران در کنار هم داریم.
- اما می خواهیم لیست پسران جدا از لیست دختران باشد ، بنابراین عنصر پسران و دختران را در دیکشنری جداگانه “Boys” و “Girls” تعریف کردیم.
- اکنون دوباره دیکشنری جدید “studentX” و “studentY” را ایجاد کرده ایم ، که در آن همه کلیدها و مقادیر دیکشنری Boys در studentX و Girls در studentY کپی می شوند.
- بنابراین لازم نیست که به کل لیست موجود در فرهنگ لغت اصلی (Dict) بروید تا ببینید که چه کسی پسر و چه کسی دختر است ، اگر لیست پسران را می خواهید فقط StudentX و اگر لیست دختران را می خواهید ، فقط StudentY را چاپ کنید.
- بنابراین ، وقتی فرهنگ لغت studentX و studentY را اجرا می کنید ، تمام عناصر موجود در فرهنگ لغت “Boys” و “Girls” را به طور جداگانه می دهد.
به روز کردن دیکشنری
می توانید با افزودن ورودی جدید یا یک جفت کلید و مقدار به ورودی یا حذف ورودی ، فرهنگ لغت را به روز کنید. در اینجا نام “Sarah” را به فرهنگ لغت موجود اضافه خواهیم کرد.
مثال پایتون ۲
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
Dict.update({“Sarah”:9})
print Dict
مثال پایتون ۳
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
Dict.update({“Sarah”:9})
print(Dict)
- دیکشنری موجود “Dict” نام “Sarah” را ندارد.
- ما از متد Dict.update برای اضافه کردن Sarah به دیکشنری موجود استفاده می کنیم.
- اکنون کد را اجرا کنید تا Sarah به دیکشنری موجود اضافه شود.
حذف کلیدها از دیکشنری
دیکشنری پایتون این آزادی را برای شما فراهم می کند که بتوانید هر عنصر را از لیست دیکشنری ها حذف کنید. فرض کنید نام Charlie را در لیست نمی خواهید ، بنابراین می توانید با کد زیر ، عنصر اصلی را حذف کنید.
مثال پایتون ۲
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
del Dict [‘Charlie’]
print Dict
مثال پایتون ۳
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
del Dict [‘Charlie’]
print(Dict)
هنگامی که این کد را اجرا می کنید ، باید فهرست دیکشنری را بدون Charlie چاپ کند.
- از کد del Dict استفاده کردیم.
- با اجرای کد ، Charlie از دیکشنری اصلی حذف شد.
متد ()items دیکشنری
متد ()items لیستی از جفت های تاپل (کلید ، مقدار) در دیکشنری را برمی گرداند.
مثال پایتون ۲
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
print “Students Name: %s” % Dict.items()
مثال پایتون ۳
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
print(“Students Name: %s” % list(Dict.items()))
- از متد ()items برای Dict استفاده می کنیم.
- وقتی کد اجرا شد ، لیستی از آیتم های (کلیدها و مقادیر) را از دیکشنری برمی گرداند.
بررسی کنید اگر کلید مشخصی قبلا در دیکشنری وجود داشته باشد
برای یک لیست مشخص ، می توانید بررسی کنید که دیکشنری فرزند در دیکشنری اصلی وجود دارد یا خیر. در اینجا دو زیر دیکشنری “Boys” و “Girls” داریم ، اکنون می خواهیم بررسی کنیم که آیا دیکشنری Boys در “Dict” اصلی وجود دارد یا خیر. برای این کار از متد forloop با متد if…else استفاده می کنیم.
مثال پایتون ۲
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
Boys = {‘Tim’: 18,’Charlie’:12,’Robert’:25}
Girls = {‘Tiffany’:22}
for key in Dict.keys():
if key in Boys.keys():
print True
else:
print False
مثال پایتون ۳
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
Boys = {‘Tim’: 18,’Charlie’:12,’Robert’:25}
Girls = {‘Tiffany’:22}
for key in list(Dict.keys()):
if key in list(Boys.keys()):
print(True)
else:
print(False)
- حلقه for در کد، هر کلید موجود در دیکشنری اصلی را برای کلید های Boys بررسی می کند.
- اگر در دیکشنری اصلی وجود داشته باشد ، باید true چاپ کند درغیر اینصورت false.
- هنگامی که کد را اجرا می کنید ، “True” را سه بار چاپ می کند ، زیرا سه عنصر در دیکشنری “Boys” داریم.
- بنابراین نشان می دهد که “Boys” در دیکشنری اصلی ما وجود دارد (Dict)
مرتب کردن دیکشنری
در دیکشنری می توانید عناصر را مرتب کنید. به عنوان مثال ، اگر می خواهیم نام عناصر دیکشنری را به ترتیب الفبا چاپ کنیم ، باید از حلقه for استفاده کنیم. این کار هر عنصر دیکشنری را مرتب می کند.
مثال پایتون ۲
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
Boys = {‘Tim’: 18,’Charlie’:12,’Robert’:25}
Girls = {‘Tiffany’:22}
Students = Dict.keys()
Students.sort()
for S in Students:
print”:”.join((S,str(Dict[S])))
مثال پایتون ۳
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
Boys = {‘Tim’: 18,’Charlie’:12,’Robert’:25}
Girls = {‘Tiffany’:22}
Students = list(Dict.keys())
Students.sort()
for S in Students:
print(“:”.join((S,str(Dict[S]))))
- ما متغیر students را برای دیکشنری خود “Dict” تعریف کردیم.
- سپس از کد Student.sort استفاده می کنیم ، که عنصر را در دیکشنری مرتب می کند.
- اما برای مرتب کردن هر عنصر در دیکشنری ، حلقه for را با اعلام متغیر S اجرا می کنیم.
- وقتی کد را اجرا کردیم ، هر عنصر را از دیکشنری فراخوانی می کند ، و رشته و مقدار را به ترتیب چاپ می کند.
توابع داخلی ساخته شده دیکشنری پایتون
متد ()len دیکشنری
تابع ()len تعداد جفت های موجود در فرهنگ لغت را نشان می دهد.
مثال پایتون ۲
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
print “Length : %d” % len (Dict)
مثال پایتون ۳
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
print(“Length : %d” % len (Dict))
وقتی (len(Dict اجرا شد ، خروجی “۴” می دهد زیرا چهار عنصر در فرهنگ لغت ما وجود دارد.
انواع متغیر
پایتون نیازی به اعلام صریح فضای حافظه ذخیره ندارد; به طور خودکار اتفاق می افتد. مقدار با علامت “=” به متغیر اختصاص داده می شود. کد تعیین نوع متغیر
” %type (Dict) “
است.
مثال پایتون ۲
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
print “variable Type: %s” %type (Dict)
مثال پایتون ۳
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
print(“variable Type: %s” %type (Dict))
- برای اطلاع از نوع متغیر از کد %type استفاده کنید.
- وقتی کد اجرا شد ، می گوید نوع متغیر دیکشنری است.
متد cmp() لیست پایتون
از متد مقایسه ()cmp در پایتون برای مقایسه مقادیر و کلیدهای دو دیکشنری استفاده می شود. اگر متد ۰ برگرداند دو دیکشنری برابرند، ۱ برای dic1> dic2 و -۱ برای dic1< dic2.
مثال پایتون ۲
Boys = {‘Tim’: 18,’Charlie’:12,’Robert’:25}
Girls = {‘Tiffany’:22}
print cmp(Girls, Boys)
مثال پایتون ۳
cmp is not supported in Python 3
- دو فرهنگ لغت به نام های “Boys” و “Girls” داریم.
- در کد
“cmp(Girls, Boys)”
ابتدا “Girls” را اعلام کردیم ، بنابراین به عنوان dic1 و Boys به عنوان dic2 در نظر گرفته می شود.
- هنگامی که کد اجرا شد ، -۱ چاپ می کند، یعنی dic1< dic2 .
Str(Dict)
با استفاده از متد ()Str می توانید دیکشنری را به فرمت رشته قابل چاپ در بیاورد.
مثال پایتون ۲
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
print “printable string:%s” % str (Dict)
مثال پایتون ۳
Dict = {‘Tim’: 18,’Charlie’:12,’Tiffany’:22,’Robert’:25}
print(“printable string:%s” % str (Dict))
- از کد
(Dict) %str
- استفاده کنید.
- کد بالا عناصر دیکشنری را در فرمت رشته قابل چاپ برمی گرداند.
خلاصه:
دیکشنری ها به زبان برنامه نویسی نوعی ساختار داده است که برای ذخیره اطلاعات متصل به طریقی استفاده می شود. دیکشنری پایتون با دو عنصر کلید و مقدار تعریف می شود. دیکشنری ها اطلاعات خود را به ترتیب خاصی ذخیره نمی کنند ، بنابراین ممکن است شما اطلاعات خود را با همان روشی که وارد آن کرده اید ، پس بگیرید.
- کلیدها عناصر واحد خواهند بود.
- مقادیر می توانند لیست یا لیستی در لیست دیگر ، اعداد و غیره باشند.
- بیش از یک ورودی در هر کلید مجاز نیست (هیچ کلید تکراری مجاز نیست).
- مقادیر موجود در دیکشنری می توانند از هر نوع باشد در حالی که کلیدها باید مانند اعداد ، تاپل ها یا رشته ها تغییر ناپذیر باشند.
- کلیدهای دیکشنری حساس به آیتم هستند – کلید ها با نام مشابه اما با آیتم متفاوت به عنوان کلیدهای مختلف در دیکشنری های پایتون رفتار می کنند.