آشنایی با orderedDict در پایتون

August 2019

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

برای ایجاد کردن یک orderedDict میتونید به شکل زیر کار کنید:

from collections import OrderedDict

names = OrderedDict(jack=12, mark=43, anna=29)
print(names)

>> OrderedDict([('jack', 12), ('mark', 43), ('anna', 29)])

در پایتون orderedDictها متدهایی هم دارند که میتونید از اونها استفاده کنید. اولین متد popitem هستش که به شما اجازه میده یک آیتم رو حذف کنید:

names = OrderedDict(jack=12, mark=43, anna=29)
names.popitem()
print(names)

>> OrderedDict([('jack', 12), ('mark', 43)])

همینطور که میبینید popitem از آخر دیکشنری یک مقداری رو حذف کرد. اما اگه بخواید از اول دیکشنری مقدار حذف کنید میتونید مقدار last رو در popitem برابر با False قرار بدین:

names.popitem(last=False)
>> OrderedDict([('mark', 43), ('anna', 29)])

حالا دیگه از اول یک آیتم رو حذف کرده.

متد بعدی که میتونید استفاده کنید move_to_end هستش:

names.move_to_end('jack')
>> OrderedDict([('mark', 43), ('anna', 29), ('jack', 12)])

این متد یک کلید میگیره و اون رو منتقل میکنه به آخر دیکشنری. اما اگه بخواید یک کلید به اول دیکشنری منتقل کنید میتونید مقدار last رو برابر با False قرار بدین.

names.move_to_end('anna', last=False)
>> OrderedDict([('anna', 29), ('jack', 12), ('mark', 43)])

برای اطلاعات بیشتر ویدیو رو تماشا کنید

ارسال نظر

اگر قراره سوالی بپرسید که داخلش کد هست، بهتره از کدتون عکس بگیرید و به ایمیلی که پایین نوشتم بفرستید