آموزش :: آموزش زبان پایتون :: قسمت سیزدهم - دیکشنری ها (Dictionaries)
درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من

جهت دریافت مدرک با مراجعه به به این بخش و ورود به دوره مورد نظر، بر روی گزینه دریافت مدرک کلیک کرده، اطلاعات خود را تکمیل کنید تا پروسه صدور مدرک برای شما طی شود.

صدور مدرک تنها برای دوره هایی که به صورت کامل خریداری شده و قیمت آن ها بالای 100،000 تومان باشد انجام خواهد شد.

جشنواره تخفیف شگفت انگیز زمستانه توسینسو

تا سقف 70 درصد تخفیف + ترافیک نیم بها + پشتیبانی محصولات توسط اساتید + ارائه گواهینامه پایان دوره

تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
حسین احمدی
امتیاز: 213993
رتبه:3
342
258
412
2788
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ... پروفایل کاربر

آموزش زبان پایتون :: قسمت سیزدهم - دیکشنری ها (Dictionaries)

تاریخ 24 ماه قبل
نظرات 0
بازدیدها 986
دیکشنری ها در زبان پایتون نوعی دیگر از لیست ها هستند، اما با یک تفاوت اساسی و آن تفاوت امکان تعیین کلید (key) برای هر یک از آیتم های لیست است که می توان بوسیله این کلید به آیتم های لیست به سرعت دسترسی داشت، یعنی شما مثل لیست ها از اندیس آیتم استفاده نمی کنید که باعث می شود نیازی به مرتب بودن لیست نباشد. معمولاً برای کلید دیکشنری ها از نوع string استفاده می کنند، اما می توان از کلیه نوع های immutable در پایتون برای کلید دیکشنری استفاده کرد مانند boolean، integer، tuple و ... دیکشنری ها muttable هستند، یعنی امکان تغییر مقادیر و همچنین افزودن و حذف کردن آیتم ها در دیکشنری وجود دارد. برای ایجاد دیکشنری ها از علامت ها {} استفاده می شود. بوسیله کد زیر یک دیکشنری خالی ایجاد می کنیم:

>>> mydict={}
>>> mydict
{}

اما همانطور که گفتیم می توان در دیکشنری یک یا چند کلید به همراه مقادیر مرتبط با کلید ها اضافه کرد، در کد زیر یک دیکشنری که کلید های آن از نوع integer و مقادیر آن از نوع string است اضافه می کنیم:

>>> students={
... 1:"Hossein Ahmadi",
... 2:"Mohammad Nasiri",
... 3:"Mehdi Adelifar",
... 4:"Jaffar Shohani"
... }
>>> students
{1: 'Hossein Ahmadi', 2: 'Mohammad Nasiri', 3: 'Mehdi Adelifar', 4: 'Jaffar Shohani'}

در کد بالا اعداد 1 تا 4 کلید های دیکشنری و رشته های روبروی هر کلید مقدار مربوط به آن کلید هستند، در ادامه می توانیم بوسیله کلید مورد به مقادیر هر کلید دسترسی داشته باشیم، برای اینکار کافیست مقدار کلید را بین [] بنویسیم:

>>> students[1]
'Hossein Ahmadi'
>>> students[4]
'Jaffar Shohani'

همانطور که در ابتدا نیز گفتیم کلید دیکشنری ها می توانند از هر نوع immutable ای انتخاب شوند:

>>> students={
... 'A':'Hossein Ahmadi',
... 'B':'Mohammad Nasiri',
... 'C':'Mehdi Adeli',
... 'D':'Jaffar Shohani'
... }
>>> students['A']
'Hossein Ahmadi'
>>> students['C']
'Mehdi Adeli'

برای تغییر مقدار یک آیتم نیز می توان از کلید و عملگر انتساب به صورت زیر استفاده کرد:

>>> students['C']
'Mehdi Adeli'
>>> students['C'] = 'Ali Moghaddam'
>>> students['C']
'Ali Moghaddam'

همچنین برای اضافه کردن یک مقدار کافیست یک کلید جدید را در زمان انتساب مشخص کنیم:

>>> students
{'A': 'Hossein Ahmadi', 'C': 'Ali Moghaddam', 'B': 'Mohammad Nasiri', 'D': 'Jaffar Shohani'}
>>> students['E']='Mehdi Adeli'
>>> students
{'A': 'Hossein Ahmadi', 'C': 'Ali Moghaddam', 'B': 'Mohammad Nasiri', 'E': 'Mehdi Adeli', 'D': 'Jaffar Shohani'}

بر میگردیم به مبحث تعریف دیکشنری ها، استفاده از {} ساده ترین روش ایجاد یک دیکشنری است، راهکار دیگری که می توان استفاده کرد استفاده از تابع dict است، بوسیله این تابع می توان یک لیست یا یک Tuple را به عنوان پارامتر ارسال کرد و از آن یک دیکشنری ساخت، فقط دقت کنید که آیتم های داخل لیست یا Tuple می بایست خود یک لیست یا Tuple و یا رشته باشند و تعداد آیتم های داخل هر لیست داخلی نیز 2 آیتم باشد. برای مثال، در کد زیر بوسیله تابع dict یک دیکشنری از روی یک لیست که هر آیتم آن یک لیست دیگر با دو آیتم می باشد ایجاد می کنیم:

>>> students_list=[['A','Hossein Ahmadi'],['B','Mohammad Nasiri']]
>>> students_dict=dict(students_list)
>>> students_dict
{'A': 'Hossein Ahmadi', 'B': 'Mohammad Nasiri'}
>>> students_dict['A']
'Hossein Ahmadi'

در ادامه به بررسی روش های مختلف استفاده از لیست و tuple ها برای ایجاد دیکشنری می پردازیم. روش اول که ترکیب لیست و لیست بود را در مثال بالا دیدیم. روش بعدی استفاده از حالت Tuple و Tuple هست، یعنی Tuple ای که هر یک از آیتم های آن یک Tuple هستند:

>>> students_list=(('A','Hossein Ahmadi'),('B','Mohammad Nasiri'))
>>> students_dict=dict(students_list)
>>> students_dict
{'A': 'Hossein Ahmadi', 'B': 'Mohammad Nasiri'}

روش بعدی ترکیب لیست و tuple است:

>>> students_list=[('A','Hossein Ahmadi'),('B','Mohammad Nasiri')]
>>> students_dict=dict(students_list)

روش سوم ترکیب tuple و لیست:

>>> students_list=(['A','Hossein Ahmadi'],['B','Mohammad Nasiri'])
>>> students_dict=dict(students_list)

برای استفاده از رشته ها به عنوان آیتم لیست یا tuple باید رشته مورد نظر تنها دو کاراکتر داشته باشد که کاراکتر اول به عنوان کلید و کاراکتر دوم به عنوان مقدار کلید شناخته می شود:

>>> chars=['ab','cd','ef','gh']
>>> dict(chars)
{'a': 'b', 'c': 'd', 'e': 'f', 'g': 'h'}

برای ادمه با تابع update آشنا می شویم که بوسیله آن می توان دو دیکشنری را با هم ترکیب کرد، کد زیر مقادیر dict2 را در dict1 اضافه می کند:

>>> dict1=dict(['ab','cd'])
>>> dict2=dict(['ef','gh'])
>>> dict1
{'a': 'b', 'c': 'd'}
>>> dict2
{'e': 'f', 'g': 'h'}
>>> dict1.update(dict2)
>>> dict1
{'a': 'b', 'c': 'd', 'e': 'f', 'g': 'h'}

بوسیله عبارت del نیز می توان مقدار داخل یک دیکشنری را حذف کرد:

>>> students={'A':'Hossein Ahmadi','B':'Mohammad Nasiri','C':'Reza Moghaddam'}
>>> students
{'A': 'Hossein Ahmadi', 'C': 'Reza Moghaddam', 'B': 'Mohammad Nasiri'}
>>> del students['C']
>>> students
{'A': 'Hossein Ahmadi', 'B': 'Mohammad Nasiri'}

همچنین برای پاک سازی کامل یک دیکشنری و حذف کلیه آیتم های آن از تابع clear به صورت زیر استفاده می کنیم:

>>> chars=dict(['ab','cd','ef'])
>>> chars
{'a': 'b', 'c': 'd', 'e': 'f'}
>>> chars.clear()
>>> chars
{}

اما فرض کنیم که می خواهیم تست کنیم که یک کلید در دیکشنری ما وجود دارد یا خیر، برای اینکار می توان از عبارت in به صورت زیر استفاده کرد که خروجی آن مقدار True یا False می باشد:

>>> students={'A':'Hossein Ahmadi','B':'Mohammad Nasiri','C':'Reza Moghaddam'}
>>> 'C' in students
True
>>> 'H' in students
False

همچنین برای بدست آوردن لیست کلیه کلیدهای داخل یک دیکشنری از تابع keys به صورت زیر استفاده می کنیم:

>>> students.keys()
['A', 'C', 'B']

و برای بدست آوردن کل مقادیر داخل دیکشنری تابع values را استفاده می کنیم:

>>> students.values()
['Hossein Ahmadi', 'Reza Moghaddam', 'Mohammad Nasiri']

تابع دیگری برای دیکشنری ها وجود دارد به نام items که خروجی آن یک لیست است که هر آیتم آن یک tuple بوده که مقدار اول آن کلید آیتم و مقدار دوم آن مقدار مربوط به کلید می باشد:

>>> students.items()
[('A', 'Hossein Ahmadi'), ('C', 'Reza Moghaddam'), ('B', 'Mohammad Nasiri')]

همانند لیست ها، در صورتی که یک دیکشنری را با عملگر انتساب در یک متغیر جدید قرار دهیم، کلیه تغییرات اعمال شده در متغیر اول در متغیر دوم نیز اعمال می شود که می توان از متد copy برای رفع این مشکل استفاده کرد. در قسمت بعدی آموزش زبان پایتون با مجموعه ها یا Sets آشنا می شویم. ITpro باشید

نویسنده: حسین احمدی
منبع: جزیره برنامه نویسی وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
برچسب ها
ردیف عنوان
1 آموزش زبان پایتون :: قسمت اول - مقدمات و آشنایی اولیه با پایتون
2 آموزش زبان پایتون :: قسمت دوم - دانلود پایتون و نوشتن اولین برنامه
3 آموزش زبان پایتون :: قسمت سوم - آشنایی با ساختار اسکریپت های پایتون
4 آموزش زبان پایتون :: قسمت چهارم - نوع های داده در زبان پایتون
5 آموزش زبان پایتون :: قسمت پنجم - تبدیل نوع ها به یکدیگر
6 آموزش زبان پایتون :: قسمت ششم - عملگرها در پایتون
7 آموزش زبان پایتون :: قسمت هفتم - دستور if
8 آموزش زبان پایتون :: قسمت هشتم - حلقه ها
9 آموزش زبان پایتون :: قسمت نهم - نوع های عددی و توابع کار با اعداد
10 آموزش زبان پایتون :: قسمت دهم - کار با رشته ها و توابع مرتبط
11 آموزش زبان پایتون :: قسمت یازدهم - لیست ها
12 آموزش زبان پایتون :: قسمت دوازدهم - Tuple ها
13 آموزش زبان پایتون :: قسمت سیزدهم - دیکشنری ها (Dictionaries)
14 آموزش زبان پایتون :: قسمت چهاردهم - مجموعه ها (Sets)
15 آموزش زبان پایتون :: قسمت پانزدهم - تابع zip و پیمایش چند لیست به صورت همزمان
16 آموزش زبان پایتون :: قسمت پانزدهم - روش Comprehension برای ایجاد لیست ها، دیکشنری ها و مجموعه ها
17 آموزش زبان پایتون :: قسمت شانزدهم - توابع (Functions)
18 آموزش زبان پایتون :: قسمت هفدهم - Closure ها
19 آموزش زبان پایتون :: قسمت هجدهم - توابع بازگشتی (Recursive Functions)
20 آموزش زبان پایتون :: قسمت نوزدهم - ماژول ها (Modules)
21 آموزش زبان پایتون :: قسمت بیستم - پکیج ها (Packages)
22 برنامه نویسی شئ گرا در پایتون :: مقدمات و آشنایی با کلاس و شئ
دوره مجموعه کل دوره
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید