آموزش برنامه نویسی پایتون-جلسه سوم (انواع داده ای _ قسمت دوم)
بسم الله الرحمن الرحیم
جلسه سوم (انواع داده ای _ قسمت دوم)
لیست(list)
برای نشان دادن لیست از علامت "[]" استفاده می شود و بین عناصر آن "," قرار می گیرد. وقتی عناصر در لیست قرار می گیرند، ترتیب اولیه آنها حفظ می شود زیرا لیست مجموعه مرتبی از عناصر است و می توان با استفاده از اندیس به عناصر آن دسترسی داشت. اولین عنصر از سمت چپ در اندیس صفر قرار می گیرد و آخرین عنصر نیز در خانه ای با اندیس "-1" قرار می گیرد.
در لیست می تواند انواع داده ای مختلف قرار گیرد. نیازی نیست عناصر یک لیست همه از نوع داده ای خاص باشند. از طرفی ممکن است عناصر لیست یکتا نباشند و یک عنصر چندین بار در لیست تکرار شده باشد.
لیست ها به صورت کلاس (class) پیاده سازی می شوند و ایجاد یک لیست به معنای ساختن نمونه ای از کلاس است...
جلسه سوم (انواع داده ای _ قسمت دوم)
لیست(list) در پایتون
برای نشان دادن لیست از علامت "[]" استفاده می شود و بین عناصر آن "," قرار می گیرد. وقتی عناصر در لیست قرار می گیرند، ترتیب اولیه آنها حفظ می شود زیرا لیست مجموعه مرتبی از عناصر است و می توان با استفاده از اندیس به عناصر آن دسترسی داشت. اولین عنصر از سمت چپ در اندیس صفر قرار می گیرد و آخرین عنصر نیز در خانه ای با اندیس "-1" قرار می گیرد.
در لیست می تواند انواع داده ای مختلف قرار گیرد. نیازی نیست عناصر یک لیست همه از نوع داده ای خاص باشند. از طرفی ممکن است عناصر لیست یکتا نباشند و یک عنصر چندین بار در لیست تکرار شده باشد.
لیست ها به صورت کلاس (class) پیاده سازی می شوند و ایجاد یک لیست به معنای ساختن نمونه ای از کلاس است.
List slicing
پس از تعریف یک لیست، هر قسمت از آن را می توان به صورت یک لیست جداگانه جدید (و به صورت یک slice) تعریف کرد. وقتی به یک قسمت از لیست اولیه با استفاده از اندیس دسترسی یابیم، اولین عنصر از سمت چپ نشان دهنده عنصری از لیست است که می خواهیم در لیست جدید باشد و اندیس دوم نشان دهنده اولین عنصری از لیست اولیه که نمی خواهیم در لیست جدید باشد، مقدار خروجی نیز برابر تمام عناصر موجود بین این دو اندیس است.
اگر اولین اندیس سمت چپ صفر باشد، نوشتن آن ضرورتی ندارد، بنابراین a_list[0:3] معادل a_list[:3] می باشد.
به طور مشابه اگر اولین اندیس سمت راست برابر با طول لیست باشد، نوشتن آن ضروری نیست، بنابراین برای لیستی مانند a_list با 5 عضو، a_list[3:5] معادل a_list[:5] است.
به طور کلی برای لیستی مانند a_list صرف نظر از طول لیست، عبارت a_list[:n]، n عضو اول لیست و a_list[n:] بقیه عناصر را بر می گرداند. و در slicing یک لیست هیچ کدام از اندیس ها نوشته نشده باشد، یعنی a_list[:] تمام عناصر لیست به عنوان خروجی برگردانده می شود.
>>> a_list = ["sales", 25, "Admin", 1.0, 25]
>>> Type (a_list)
>>> a_list [0]
'Sales'
>>> a_list [-1]
25
>>> a_list [1:3]
[25, 'Admin']
>>> a_list [:3]
['sales', 25, 'Admin']
>>> a_list [3:]
[1.0, 25]
>>> a_list [:]
['sales', 25, 'Admin', 1.0, 25]
>>> Type (a_list [0])
>>> Type (a_list [3])
افزودن عنصر جدید به لیست در پایتون
4 روش برای اضافه کردن عضو به لیست وجود دارد:
· عملگر "+" دو لیست را به هم متصل کرده و لیست جدیدی تولید می کند. یک لیست می تواند دارای هر تعداد عضو و با هر نوع داده ای مختلفی باشد و هیچ محدودیتی برای اندازه آن وجود ندارد (به شرط عدم وجود محدودیت حافظه )
· متد append() مقداری را به انتهای لیست اضافه می کند.
· متد extend() لیستی را به عنوان پارامتر دریافت کرده و تمام عناصر آن را به لیست اولیه اضافه می کند.
· متد insert() مقداری را در یک اندیس مشخص از لیست قرار می دهد. برای مثال a_list.inser(0, value)، مقدار value را به ابتدای لیست اضافه می کند.
دقت کنید در حالت عادی تابع append() یک عنصر منفرد و تابع extend() یک لیست به عنوان پارامتر دریافت می کند. بنابراین اگر تابع append() یک لیست به عنوان پارامتر دریافت کند، آن لیست را به انتهای لیست اولیه اضافه می کند و طول لیست اولیه یک واحد اضافه می شود، در حالی که تابع extend() تک تک عناصر لیستی را که به عنوان پارامتر دریافت کرده را به صورت عناصر منفرد به لیست اولیه اضافه می کند و طول لیست حاصل برابر مجموع طول لیست اولیه به اضافه طول لیستی می شود که extend به عنوان پارامتر گرفته است.
>>> new_list = ['a']
>>> new_list = new_list + [12, 3.0]
>>> new_list
['a', 12, 3.0]
>>> new_list.append (True)
>>> new_list.extend (['one', 'two'])
>>> new_list
['a', 12, 3.0, True, 'one', 'two']
>>> Len (new_list)
6
>>> new_list.append (True, false)
>>> Len (new_list)
7
>>> new_list.insert (0, 'python')
>>> new_list
['python', 'a', 12, 3.0, True, 'one', 'two', [True, False]]
جستجو در لیست
برای جستجوی یک عنصر در لیست و بررسی وجود آن از عملگر "in" استفاده می شود.با استفاده از تابع count() نیز می توان تعداد دفعات تکرار یک عنصر را در لیست مشخص کرد، اما اگر هدف استفاده از تابع count فقط بررسی وجود یا عدم وجود یک عنصر در لیست باشد، عملگر in از تابع count سریع تر عمل می کند و خروجی آن True یا False است. به شرط اطمینان از وجود یک عنصر در لیست، با استفاده از تابع index() می توان به اندیس عنصر مورد نظر دسترسی داشت. این تابع در صورت عدم وجود عنصر در لیست یک استثنا (exception) بر می گرداند. می توان پارامتر دومی به عنوان اولین خانه شروع جستجو به این تابع داد وهم چنین پارامتر سومی به عنوان اندیس محل متوقف شدن جستجو مشخص کرد. این تابع اولین اندیسی که عنصر مورد نظر در آن قرار دارد را بر می گرداند (حتی اگر یک عنصر چندین بار در لیست تکرار شده باشد.)
توجه: در برخی زبان ها در صورت عدم وجود یک عنصر در لیست، مقداری نامعتبر برگردانده می شود، مثلا -1 ، اما در زبان پایتون اندیس -1 یک اندیس معتبر است.
>>> new_list
['python', 'a', 12, 3.0, True, 'one', 'two', [True, False]]
>>> True in new_list
True
>>> 3 in new_list
True
>>> new_list.index ('two')
6
>>> new_list.index ('three')
Traceback (most recent call last) :
File "", line 1, in
New_list.index ('three')
ValueError: 'three' is not in list
>>> new_list.count (True)
1
>>> a_list
['sales', 25, 'Admin', 1.0, 25]
>>> a_list.count (25)
2
حذف عنصر از لیست
برای حذف عضو از لیست روش های مختلفی وجود دارد. پس از حذف عنصر از لیست، تمام عناصر یک واحد شیفت می یابند تا gap ایجاد شده ناشی از حذف عنصر از بین برود.
استفاده از del برای حذف یک عنصر خاص از لیست و یا حذف عضو با استفاده از اندیس یا مقدار آن
متد remove() مقدار مورد نظر را به عنوان پارامتر دریافت کرده و مقدار موجود در اندیسی که اولین بار عنصر مورد نظر در آنجا دیده شده است را حذف می کند. در صورتی که تابع remove() برای حذف عنصری که در لیست موجود نیست صدا زده شود، یک استثنا بر می گرداند.
متد pop() در صورتی که بدون آرگومان صدا زده شود، آخرین عنصر لیست را حذف کرده و بر می گرداند و در صورتی که پارامتر به آن داده شود، عنصر با اندیس مورد نظر را حذف می کند.
از نظر متغیرهای بولی، لیست خالی معادل False و هر لیستی که حداقل یک عضو داشته باشد معادل True می باشد.
>>> a_list = ['sales', 25, 'Admin', 1.0, 25]
>>> a_list [1]
25
>>> del a_list [1]
>>> a_list
['Sales', 'Admin', 1.0, 25]
>>> a_list.remove ('sales')
Traceback (most recent call last) :
File "", line 1, in
a_list.remove ('sales')
ValueError: list.remov (x) : x not in list
>>> a_list.remove ('sales')
>>> a_list
['Admin', 1.0, 25]
>>> a_list.pop ()
25
>>> a_list
['Admin', 1.0]
>>> a_list.pop (1)
1.0
>>> a_list
['Admin']
>>> a_list.pop ()
'Admin'
>>> a_list
[]
>>> a_list.pop ()
Traceback (most recent call last) :
File "", line 1, in
a_list.pop ()
IndexError: pop from empty list
برای معکوس کردن عناصر یک لیست می توان از تابع reverse() استفاده کرد. هم چنین تابع sort() عناصر لیست را مرتب می کند ولی برای مرتب کردن، باید همه عناصر از یک نوع داده ای باشند.
>>> new_list = ['python', 'a', 12, 3.0, True, 'one', 'two', [True, False]]
>>> new_list. Reverse ()
>>> new_list
[[True, False], 'two', 'one', True, 3.0, 12, 'a', 'python']
>>> new_list.sort ()
>>> new_list
[True, 3.0, 12, [True, False], 'a', 'one', 'python', 'two']
>>> new_list.sort ()
>>> new_list
[True, 3.0, 12, [True, False], 'a', 'one', 'python', 'two']
تاپل (Tuple) در پایتون
تاپل مجموعه مرتبی از داده است. به عبارتی می توان آنها را مانند لیست ها (lists) و رشته ها (strings) مثالی از یک دنباله (sequence) در نظر گرفت. برخلاف لیست، tuple تغییر ناپذیر (immutable) است و می توان آن را مانند داده های ثابت (constant data) در نظر گرفت، به همین دلیل در مواقعی که نیاز به تغییرات خاص در داده ها نمی باشد یا نباید داده ها تغییر کنند، بهتر است برای صرفه جویی در حافظه مصرفی، از تاپل به جای لیست استفاده کرد. از طرفی به دلیل آنکه تاپل ها تغییر ناپذیر می باشند، سرعت دسترسی به عناصر تاپل از سرعت دسترسی به عناصر لیست سریع تر است و در زمان اجرای اولین برنامه، یک محاسبه اولیه روی آنها صورت می گیرد. هم چنین اگر داده ها به صورت write-protect باشند و نیازی به تغییر آنها نباشد، استفاده از تاپل کد برنامه را امن تر می کند.
تاپل می تواند دارای داده هایی با انواع مختلف باشد که درون پرانتز قرار می گیرند و با کاما از هم جدا می شوند.
>>> a_tuple = (1, 'sometext', 3.14)
>>> Type (a_tuple)
>>> Type (a_tuple [0])
>>> Type (a_tuple [1])
>>> Type (a_tuple [2])
برای تعریف تاپل های تک عضوی، باید در انتهای عنصر، کاما قرار گیرد تا به صورت یک عبارت در نظر گرفته نشود. در غیر این صورت پایتون پرانتزها را به صورت یک جفت پرانتز اضافی در نظر می گیرد و تاپلی را ایجاد نمی کند.
مانند رشته، در tuple نیز عناصر با استفاده از اندیس قابل دستیابی می باشند، اولین عنصر سمت چپ دارای اندیس صفر و اولین عنصر سمت راست، دارای اندیس منفی یک می باشد.
با توجه به آنکه تاپل ها تغییر ناپذیر می باشند، نمی توان از متدهایی که منجر به اضافه یا حذف عناصر از آنها می شود، استفاده کرد که این مهم ترین تفاوت لیست با تاپل به شمار می رود. بنابراین متدهایی مانند remove()، pop()، append()، extend() برای تاپل ها تعریف نشده است،
>>> new_tuple = a_tuple [0:2]
>>> new_tuple
(1, 'sometext')
>>> new_tuple.append ('new data')
Traceback (most recent call last) :
File "", line 1, in
new_tuple.append ('new data')
AttributeError: 'tuple' object has no attribute 'append'
از توابع کلیدی تاپل index و count می باشند:
تابع index: این تابع در مورد یک تاپل اندیس عنصر مورد نظر را بر می گرداند.
تابع count: تعداد دفعات تکرار یک عنصر را در تاپل بر می گرداند.
توجه کنید برای بررسی وجود یک رشته، کوچک یا بزرگ بودن حروف اهمیت دارد.
>>> new_tuple.index ('sometext')
1
>>> new_tuple.index ('sometext')
Traceback (most recent call last) :
File "", line 1, in
new_tuple.index ('sometext')
ValueError : tuple.index (x) : x not in tuple
>>> a_tuple.count (3.14)
1
>>> multi_tuple = ('a', 2, 'a', 24.234)
>>> multi_tuple.count ('a')
2
برای آنکه وجود یک عنصر در تاپل بررسی شود، از کلمه کلیدی in استفاده می شود.
با استفاده از عملگر جمع (+) می توان تاپل ها را با هم ادغام کرد.
>>> 'a' in multi_tuple
True
>>> 24.234 not in multi_tuple
False
>>> t = ('sometext',)
>>> type (t)
>>> a_tuple + multi_tuple
(1, 'sometext', 3.14, 'a', 2, 'a', 24.234)
>>> a_tuple *2
(1, 'sometext', 3.14, 1, 'sometext', 3.14)
از نظر مفهوم بولین، تاپلی که هیچ عضوی نداشته باشد معادل False و تاپلی که حداقل یک عضو داشته باشد معادل True است.
در پایتون برای مقداردهی همزمان چند متغیر می توان از تاپل ها به عنوان یک راه میانبر استفاده کرد. یک مثال کاربردی آن زمانی است که بخواهیم نام هایی را به محدوده خاصی از اعداد نسبت دهیم، که می توان از تابع range() و مفهوم تاپل کمک گرفت. تابع range() دنباله ای از اعداد صحیح تولید می کند.
>>> v = ('a', 2, True)
>>> (x, y, z) = v
>>> x
'a'
>>> y
2
>>> z
True
>>> (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range (7)
>>> MONDAY
0
>>> WEDNESDAY
2
جهت ایجاد تغییر در شی تاپل، میتوان شی مورد نظر را به صورت موقت به یک شی لیست تبدیل کرد. در این حالت میتوان از ویژگی و متدهای شی لیست بهره برد و تغییرات دلخواه را اعمال کرد و در نهایت با یک تبدیل نوع دیگر دوباره به شی تاپل بازگشت. برای این منظور میتوان با استفاده از کلاس list() یک دنباله - در اینجا یک شی تاپل - را به شی لیست تبدیل کرد و در طرف دیگر توسط کلاس ()tuple نیز یک دنباله - در اینجا یک شی لیست - را به شی تاپل تبدیل کرد:
>>> New = (20, 14, 30, 4)
>>> Type (new)
>>> 1 = list (new)
>>> 1
[20, 14, 30, 4]
>>> type (1)
>>> 1.append (5.26)
>>>
>>> 1
[20, 14, 30, 4, 5.26]
>>> 1.append ('python')
>>>
>>> 1
[20, 14, 30, 4, 5.26, 'python']
>>> new = tuple (1)
>>> new
(20, 14, 30, 4, 5.26, 'python')
مجموعه (Sets) در پایتون
Set مجموعه ای از عناصر منحصر به فرد است که بدون هیچ ترتیبی در کنار هم قرار می گیرند و در صورت افزودن عنصر تکراری ، هیچ عملیاتی صورت نمی گیرد. بر روی مجموعه ها می توان عملیات مختلفی از جمله اشتراک، اجتماع و تفاضل انجام داد. مجموعه ها به صورت کلاس ها پیاده سازی می شوند. برای ایجاد مجموعه ای با یک عضو باید عنصر مورد نظر را درون علامت آکولاد "{}" قرار داد و در مورد مجموعه هایی با تعداد متعدد، عناصر با کاما از هم جدا می شوند.
تابع set() یک لیست را به یک مجموعه تبدیل می کند. توجه داشته باشید چون در مجموعه ترتیب عناصر اهمیتی ندارد، بعد از تبدیل لیست به set، ترتیب اولیه عناصر به هم می ریزد اما لیست اولیه بدون تغییر باقی می ماند.
توجه: برای ایجاد یک لیست خالی از تابع set() استفاد می شود، در حالی که "{}" یک دیکشنری خالی ایجاد می کند.
>>> a = {}
>>> Type (a)
>>> b = set ()
>>> Type (b)
>>> a_set = {1, 2, 3}
>>> a_ list = ['a', 'b', 'mpilgrim', True, False, 42]
>>> a_set = set (a_list)
>>> a_set
{'a', False, 'b', True, 'mpilgrim', 42}
>>> a_list
['a', 'b', 'mpilgrim', True, False, 42]
افزودن عنصر به set
برای افزودن عضو به یک set موجود، از متدهای add() و update() استفاده می شود. تابع add() یک آرگومان دریافت کرده و مقدار مورد نظر را به مجموعه اضافه می کند. متد update() نیز یک آرگومان از نوع set (با هر تعداد عضو )دریافت کرده و تمام عناصر آن را به مجموعه اولیه اضافه می کند.
>>> a_set = {1, 2, 3}
>>> a_set
{1, 2, 3}
>>> a_set.update ({2, 4, 6})
>>> a_set
{1, 2, 3, 4, 6}
حذف عضو از مجموعه در پایتون
برای حذف عنصر از مجموعه ها سه روش وجود دارد:
· متد discard() مقداری را به عنوان ورودی دریافت کرده و آن را از مجموعه حذف می کند و اگر عضو مورد نظر اصلا در مجموعه نباشد، هیچ عملیاتی صورت نمی گیرد (حتی پیغام خطا هم روی نمی دهد).
· متدremove() عملیاتی مشابه discard() انجام می دهد با این تفاوت که اگر از متد remove() استفاده شود و آرگومان ورودی در مجموعه وجود نداشته باشد، یک استثنای مربوط به کلید (keyError Exception) رخ می دهد.
· متد pop() نیز مقداری را از مجموعه حذف کرده و آن را بر می گرداند. با توجه به آنکه عناصر در یک set هیچ ترتیبی ندارند، در صورت استفاده از متد pop() هیچ کنترلی بر روی داده ای که حذف می شود وجود ندارد و تابع مقدار را به طور تصادفی حذف می کند.
· متد clear() تمام عناصر موجود در مجموعه را حذف کرده و یک مجموعه خالی را جایگزین مجموعه قبلی می کند.
>>> a_set
Set ([1, 2, 3, 4, 6])
>>> a_set.discard (2)
>>> a_set.discard (10)
>>> a_set
Set ([1, 2, 3, 4, 6])
>>> a_set.remove (1)
Set ([3, 4, 6])
>>> a_set.remove (10)
Traceback (most recent call last) :
File "", line 1, in
a_set.remove (10)
KeyError : 10
>>> a_set.pop ( )
3
>>> a_set.pop ( )
4
>>> a_set
Set ([6])
>>> a_set.clear ( )
Set ([ ])
>>> a_set.pop ( )
Traceback (most recent call last) :
File "", line 1, in
a_set.pop ( )
KeyError : 'pop from an empty set'
عملیات اصلی روی مجموعه ها در پایتون
با استفاده از عملگر in وجود یک عنصر در مجموعه بررسی می شود.
متد union() برای اجتماع دو مجموعه به کار می رود و مجموعه جدیدی می سازد که شامل تمام عناصر لیست های اولیه است.
متد intersection() برای بدست آوردن اشتراک دو مجموعه به کار می رود و مجموعه جدیدی که شامل عناصر مشترک دو مجموعه است را بر می گرداند.
متد difference() مقادیری که در مجموعه اول موجود است و در مجموعه دوم وجود ندارد را بر می گرداند و متد symmetric_difference()
نیز تفاضل مشترک دو مجموعه را به عنوان یک مجموعه جدید تولید می کند. توجه کنید که تفاضل و یا تفاضل متقارن
a
از
b
متفاوت از
b
از
a
می باشد.
>>> a_set = {1, 2, 3, 4}
>>> 30 in a_set
False
>>> 3 in a_set
True
>>> b_set = {10, 20, 30}
>>> a_set.union (b_set)
Set ([1, 2, 3, 4, 20, 10, 30])
>>> a_set.update (10, 40, 20)
Traceback (most recent call last) :
File "", line 1, in
a_set.update (10, 40, 20)
TypeError : 'int' object is not iterable
>>> a_set.update ({10, 40, 20})
>>> a_set
Set ([1, 2, 3, 4, 40, 20, 10])
>>> a_set.intersection (b_set)
Set ([10, 20])
>>> a_set. Difference (b_set)
Set ([40, 1, 2, 3, 4])
>>> a_set.symmetric.difference (b_set)
Set ([1, 2, 3, 4, 40, 30])
برای بررسی زیر مجموعه و یا ابر مجموعه بودن نیز می توان از توابع
issubset()
و
issuperset()
استفاده کرد. اگر
a
زیر مجموعه
b
باشد، باید تمام عناصر
a
در مجموعه
b
وجود داشته باشد.
>>> a_set = {1, 2, 3}
>>> b_set = {1, 2, 3, 4}
>>> a_set.issuperset (a_set)
True
>>> b_set.issuperset (a_set)
True
>>> a_set.add (5)
>>> a_set.issubset (b_set)
False
از نظر متغیرهای بولی، مجموعه خالی معادل False و هر مجموعه که حداقل یک عضو داشته باشد معادل True می باشد.
دیکشنری (Dictionary)
دیکشنری مجموعه زوج های کلید_ مقدار، غیر مرتب و قابل تغییر (mutable) است که بین دو آکولاد قرار می گیرد. بر خلاف لیست و تاپل که به صورت دنباله (sequence) هستند، به دیکشنری ها mapping گفته می شود. کلیدها (key) فقط می توانند عناصر غیر قابل تغییر در پایتون باشند ولی مقدار (value) می تواند هر شیء ای باشد. برای هر عنصر، مقدار و کلید را با استفاده از علامت کولون (:) از هم جدا می کنند. اغلب به آنها Associated Array و یا Hash table گفته می شود.
کلید و مقادیر در دیکشنری می توانند از هر نوع ترکیبی از انواع داده ای mutable باشند (رشته، اعداد صحیح و ...). با توجه به آنکه عناصر در تاپل immutable (غیر قابل تغییر) است، می توان از آنها به عنوان کلید استفاده کرد ولی از لیست ها نمی توان به عنوان کلید استفاده کرد.
وقتی کلیدی به یک دیکشنری افزوده می شود، باید به آن مقداری اختصاص داده شود که این مقادیر بعدا قابل تغییر می باشند.
دیکشنری ها برای مواقعی مناسب هستند که بخواهیم یک مقدار را با استفاده از کلید آن بازیابی کنیم. دیکشنری ها مشابه مجموعه ها هستند با این تفاوت که به جای مقدارهای منفرد، اعضای آن به صورت جفت های کلید- مقدار است.
دیکشنری ها اندازه های از پیش تعیین شده ای ندارند و هر زمان لازم باشد، می توان عنصر جدیدی به آنها افزود و یا مقدار یک کلید موجود را تغییر داد.
در دیکشنری کلیدها نسبت به حروف کوچک و بزرگ حساس هستند.
برای اطلاع از طول دیکشنری (تعداد جفت های key-value) می توان از تابع len() استفاده کرد. عملگر in نیز وجود یک عنصر در دیکشنری را بر می گرداند.
>>> months = {1 : 'January', 2 : 'February', 3 : 'March'}
>>> type (months)
>>> months [2]
'February'
>>> months [4]
Traceback (most recent call last) :
File "", line 1, in
months [4]
KeyError : 4
>>> months [4] = 'April'
>>> months
{1 : 'January', 2 : 'February', 3 : 'March', 4 : 'April'}
>>> len (months)
4
>>> 1 in months
True
>>> 'february' in months.value
Traceback (most recent call last) :
File "", line 1, in
'february' in months.value
TypeError : argument of type 'builtin_function_or_method' is not iterable
>>> 'february' in months.values ( )
True
با استفاده از تابع list() می توان یک دیکشنری را به یک لیست تبدیل کرد، اما با این تبدیل تنها کلیدها به صورت لیست در می آیند. برای آنکه مقادیر موجود در دیکشنری را بتوان به صورت لیست نشان داد باید از تابع value() استفاده کرد.
>>> month2list = list (months)
>>> month2list
[1, 2, 3, 4]
>>> month2list = list (months.values())
>>> month2list
['january', 'February', 'March', 'April']
>>>
از نظر متغیرهای بولی، دیکشنری خالی معادل False و هر دیکشنری که حداقل یک عضو داشته باشد معادل True می باشد.