وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش تکرار بر روی دیکشنری در پایتون

0 8
زمان لازم برای مطالعه: 3 دقیقه


معرفی

دیکشنری ها یکی از پرکاربردترین ساختارهای داده در توسعه نرم افزار هستند و دلیل خوبی هم دارند. آنها به ما این امکان را می دهند که داده های خود را به طور مرتب ذخیره کنیم کلید، ارزش جفت، که به نوبه خود به ما این توانایی را می دهد که روی متوسط، به داده های ما دسترسی داشته باشید O(1) زمان.

در حین استفاده یک دیکشنری مهم است که بدانیم چگونه روی آن تکرار کنیم. ناتوانی در بازیابی داده هایی که ذخیره کرده اید، عملاً بی فایده است.

در این مقاله خواهیم دید روش تکرار از طریق فرهنگ لغت پایتون با انواع تکرار کننده ها و for حلقه

با استفاده از کلیدها() روش

دیکشنری های پایتون یک روش مفید دارند که به ما امکان می دهد به راحتی از طریق تمام کلیدهای اولیه در یک فرهنگ لغت تکرار کنیم. keys().

به خاطر داشته باشید که از پایتون 3، این روش لیستی را بر نمی گرداند، در عوض a را برمی گرداند مشاهده شی. آ مشاهده شی دقیقاً همانطور که از نام می گوید، نمای برخی از داده ها است.

این بدان معناست که می‌توانیم از طریق داده‌های گفته شده تکرار کنیم، مشکلی نیست، اما اگر می‌خواهیم لیست کلیدها را واقعاً ذخیره کنیم، باید آن را عملی کنیم. که با فوروارد ارائه شده به راحتی قابل انجام است مشاهده شی به a list سازنده

بیایید نگاهی به روش عملکرد آن بیندازیم:

my_dict = {'alpha': 5, 'beta': 4, 'gamma': 3}




key_view = my_dict.keys()
print("Key view:", key_view)
print("Type:", type(key_view),end="\n\n")



key_list = list(my_dict.keys())
print("Key list:", key_list)
print("Type: ", type(key_list),end="\n\n")



for key in my_dict.keys():
    print(key, ':', my_dict(key)) 

اجرای کد خروجی زیر را به ما می دهد:

Key view: dict_keys(('alpha', 'beta', 'gamma'))
Type: <class 'dict_keys'>

Key list: ('alpha', 'beta', 'gamma')
Type:  <class 'list'>

alpha : 5
beta : 4
gamma : 3 

یک راه جایگزین برای انجام این کار این خواهد بود:

my_dict = {'alpha': 5, 'beta': 4, 'gamma': 3}

for key in my_dict:
    print(key, ':', my_dict(key))

هنگام استفاده از in کلمه کلیدی در ارتباط با یک فرهنگ لغت، فرهنگ لغت آن را فراخوانی می کند __iter__() روش. این روش سپس یک تکرار کننده را برمی گرداند که برای عبور ضمنی از کلیدهای فرهنگ لغت ارائه شده استفاده می شود.

پیشنهاد می‌کنیم بخوانید:  دریافت HTTP POST Body در Express.js در این مقاله مختصر به روش استخراج اطلاعات از بدنه POST در Express.js خواهیم پرداخت. پروتکل HTTP راه های مختلفی را برای انتقال اطلاعات از یک کلاینت به یک سرور ارائه می دهد که بدنه های POST انعطاف پذیرترین و متداول ترین روش برای ارسال ...

با استفاده از ارزش های() روش

درست مثل keys() روش، values() متد یک شی view را نیز برمی گرداند، اما به جای تکرار از طریق کلیدها، از طریق مقادیر تکرار می شود:

my_dict = {'alpha': 5, 'beta': 4, 'gamma': 3}



key_list = list(my_dict.values())
print("Value list:", key_list)
print("Type: ", type(key_list), end="\n\n")

for value in my_dict.values():
    print(value, end=" ")

اجرای کد خروجی زیر را به ما می دهد:

Value list: (5, 4, 3)
Type:  <class 'list'>
5 4 3 

برخلاف روش قبلی، این روش فقط ارائه می دهد ارزش های. زمانی مفید است که شما نگران آن نباشید کلیدها.

با استفاده از موارد() روش

درست مثل keys() و values() روش ها، items() متد همچنین یک شی view را برمی گرداند، اما به جای اینکه فقط از طریق هر یک از آنها تکرار شود keys یا values، از طریق آن تکرار می شود (key,value) جفت

بیایید نگاهی به روش عملکرد آن بیندازیم:

my_dict = {'alpha': 5, 'beta': 4, 'gamma': 3}


key_list = list(my_dict.items())
print("(key,value) pair list:", key_list)
print("Type: ", type(key_list), end="\n\n")

for item in my_dict.items():
    print(item, end=" ")

اجرای کد خروجی زیر را به ما می دهد:

(key,value) pair list: (('alpha', 5), ('beta', 4), ('gamma', 3))
Type:  <class 'list'>
('alpha', 5) ('beta', 4) ('gamma', 3) 

بلافاصله هر دو را اختصاص دهید کلیدها و ارزش های به طور همزمان می توانیم استفاده کنیم باز کردن بسته بندی تاپل و آنها را با استفاده از متغیرهایی برای هر مقدار در یک تاپل استخراج کنید:

for key, value in my_dict.items():
    print(key,':',value)

توجه به این نکته ضروری است که در سنین بالا پایتون 2 نسخه هایی که در آن items()، keys()، و values() یک کپی از داده ها را از یک دیکشنری. درحالیکه در پایتون 3 آنها یک شیء view را برمی گردانند.

پیشنهاد می‌کنیم بخوانید:  انتقال توابع به عنوان پارامتر در TypeScript

اینها موثرتر هستند زیرا نمای پویا را ارائه می دهند و علاوه بر این، اگر تغییراتی در فرهنگ لغت اصلی ایجاد شود، بلافاصله در شی view منعکس می شود (و بالعکس).

نتیجه

در این مقاله، روش‌های مختلف برای تکرار روی پایتون را پوشش داده‌ایم فرهنگ لغت. این شامل keys()، values() و items() روش ها، با الف for حلقه

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-12 23:50:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید