دیکشنری در پایتون
پایتون یکی از زبان هایی است که دادهها توکار کافی داره و به نوعی دست برنامه نویس را باز گذاشته است. یکی از داده های مهم و کاربردی دیکشنری در پایتون است.
تعریف دیکشنری در پایتون
نوع داده دیکشنری در پایتون مجموعهای از دادههای نامرتب، غیر قابل تغییر با قابلیت اندیس دهی است. دیکشنری در پایتون بین ‘}’ و ‘{‘ قرار میگیره. هر عضو دیکشنری در پایتون با یک جفت کلید و مقدار که با ‘:’ از هم جدا شدهاند تعریف میشه.
طبق معمول مثالی که در کامپیوترمن و با استفاده از پایتون ۳.۸.۳ اجرا شده را ببینید.
┌─[trueans@parrot]─[~]
└──╼ $python3
Python 3.8.5 (default, Jul 20 2020, 18:32:44)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> dict={'amir':'developer','amir':'digitalmarketer'}
>>> print(dict)
{'amir': 'digitalmarketer'}
>>> dict1={"brand":"ford","model":"mustang","year":1964}
>>> print(dict1)
{'brand': 'ford', 'model': 'mustang', 'year': 1964}
مورد جالبی که در اولین تست و تعریف دیکشنری در پایتون مواجه شدم اینه که اعضایی که هم مقدار آنها تکراری است و هم کلید آنها overwrite میشن. در تکه کد بالا به تعریف و چاپ dict دقت نمائید.
دسترسی به مقادیر اعضای دیکشنری
با نوشتن کلید یک مقدار بین ‘[‘ و ‘]’ به راحتی میتوان مقدار متناظر با کلید مورد را خواند و یا به آن دسترسی پیدا کرد.
در تکه کد زیر مدل ماشینی را که در مثال بالا تعریف کردیم را چاپ کردیم.
>>> x=dict1['model']
>>> print(x)
mustang
همچنین با استفاده از تابع ()get
میتوانید مقدار متناظر با کلید را در یک دیکشنری دریافت نمائید.
دیکشنری ها در پایتون یک لیست نامرتب هستند
وقتی میگوییم دیکشنری ها در پایتون یک لیست نامرتب هستند یعنی در این لیست ترتیب مهم نیست و مهم تر از این شما نمیتوانید با اندیس به اعضای دیکشنری دسترسی داشته باشد.
مقادیر دیکشنری ها در پایتون قابل تغییر هستند
این به این معنی است که بعد از تعریف دیکشنری ها در پایتون شما میتوانید مقادیر هر آیتم دیکشنری را تغییر دهید یا یک آیتم را از دیکشنری حذف کنید و یا به آن اضافه نمائید.
عضو تکراری در دیکشنری ها مجاز نیست
دیکشنری ها نمیتوانند دو عضو داشته باشند که کلید آن دو عضو برابر باشد.
به مثال زیر که روی سیستم من اجرا شده است دقت نمائید:
amir@myarch ~]$ python
Python 3.8.6 (default, Sep 30 2020, 04:00:38)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> thisdict={
... 'brand':'ford',
... 'model':'mustang',
... 'year':1964,
... 'year':2020
... }
>>> print(thisdict)
{'brand': 'ford', 'model': 'mustang', 'year': 2020}
برای سال آخرین مقداری که تخصیص داده شده است چاپ شده است.یعنی مقدار جدید جایگزین مقدار قبلی شده است.
طول دیکشنری ها در پایتون
تعداد اعضای یک دیکشنری در پایتون را میتوانید با استفاده از تابع len به دست آورید.
در مثال زیر طول دیکشنری مثال قبل را چاپ کردهایم
>>> print(len(thisdict))
۳
>>>
نوع دادههای اعضای دیکشنری
اعضای دیکشنری میتواند هر نوع دادهای که در پایتون مجاز است باشد.
>>> thisdict={
... "brand":"ford",
... "electric":False,
... "year":1964,
... "colors":["red","white","blue"]
... }
>>> print(thisdict)
{'brand': 'ford', 'electric': False, 'year': 1964, 'colors': ['red', 'white', 'blue']}
تابع type
در پایتون دیکشنریها به عنوان یک شی تعریف میشوند که نوع آن dict است.
در مثال زیر نوع thisdict را با استفاده از تابع type چاپ کردهایم
>>> print(type(thisdict))
<class 'dict'>
انواع داده های مجموعهای در پایتون: