از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش تکرار بر روی دیکشنری در پایتون
سرفصلهای مطلب
معرفی
دیکشنری ها یکی از پرکاربردترین ساختارهای داده در توسعه نرم افزار هستند و دلیل خوبی هم دارند. آنها به ما این امکان را می دهند که داده های خود را به طور مرتب ذخیره کنیم کلید، ارزش جفت، که به نوبه خود به ما این توانایی را می دهد که روی متوسط، به داده های ما دسترسی داشته باشید 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__()
روش. این روش سپس یک تکرار کننده را برمی گرداند که برای عبور ضمنی از کلیدهای فرهنگ لغت ارائه شده استفاده می شود.
با استفاده از ارزش های() روش
درست مثل 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 را برمی گردانند.
اینها موثرتر هستند زیرا نمای پویا را ارائه می دهند و علاوه بر این، اگر تغییراتی در فرهنگ لغت اصلی ایجاد شود، بلافاصله در شی view منعکس می شود (و بالعکس).
نتیجه
در این مقاله، روشهای مختلف برای تکرار روی پایتون را پوشش دادهایم فرهنگ لغت. این شامل keys()
، values()
و items()
روش ها، با الف for
حلقه
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-12 23:50:03