مشخصات مقاله
-
680
-
0.0
-
2123
-
0
-
0
آموزش دیکشنری در پایتون
آموزش دیکشنری ها در برنامه نویسی پایتون
نوع داده مفید دیگری که درون پایتون ساخته شده دیکشنری است
بعضی اوقات در سایر زبان ها مانند “associative memories” و “associative arrays” نیز دیکشنری پیدا می شود. برخلاف دنباله ها که با بازه ای از اعداد اندیس گذاری می شوند، دیکشنری ها با کلیدها اندیس گذاری می شوند که این کلیدها می توانند هر نوع غیر قابل تغییری باشند. رشته ها و اعداد همیشه می توانند کلید باشند. چندتایی ها در زمانی که تنها شامل رشته ها، اعداد و چندتایی های دیگر باشند، می توانند کلید باشند.
اگر چندتایی شامل هر گونه شی قابل تغییر ، مستقیم یا غیر مستقیم باشد، نمیتواند به عنوان کلید مورد استفاده قرار گیرد. از لیست ها نمی توان به عنوان کلید استفاده کرد زیرا آنها با استفاده از تخصیص اندیس، تخصیص بخش (slice) یا با استفاده از متدهای append() و extend() می توانند تغییر کنند.
بهتر است به دیکشنری به عنوان مجموعه ای از جفت "کلید:مقدار" نگاه کنیم با این شرط که کلید ها (درون یک دیکشنری) یکتا هستند. یک جفت پرانتز {} یک دیکشنری خالی ایجاد می کند. قرار دادن لیستی از جفت کلید:مقدار که با ویرگول از هم جداشده اند درون پرانتز ها ، کلید:مقدار اولیه را به دیکشنری اضافه می کند. همچنین دیکشنری ها در خروجی به این روش نوشته می شوند.
. عملیات اصلی روی یک دیکشنری، ذخیره یک مقدار با یک کلید و استخراج آن مقدار با دادن کلید است. همچنین می توان با del یک جفت کلید:مقدار را پاک کرد. اگر یک مقدار را با استفاده از یک کلیدی که در حال حاضر موجود و در حال استفاده است ذخیره کنید، مقدار قبلی مربوط به آن کلید فراموش می شود. استخراج یک مقدار توسط کلیدی که وجود ندارد خطا است.
. اگر list(d) را روی یک دیکشنری اعمال کنید، یک لیست از تمامی کلیدهای موجود در دیکشنری به ترتیب درج باز می گرداند ( اگر میخواهید که مرتب شود به جای آن از sorted(d) استفاده کنید). برای بررسی اینکه آیا یک کلید در دیکشنری وجود دارد از کلمه کلیدی in استفاده کنید. در اینجا مثالی کوچک که از دیکشنری استفاده کرده است را می بینیم:
>>> tel = {'jack': 4098, 'sape': 4139}
>>> tel['guido'] = 4127
>>> tel
{'jack': 4098, 'sape': 4139, 'guido': 4127}
>>> tel['jack']
4098
>>> del tel['sape']
>>> tel['irv'] = 4127
>>> tel
{'jack': 4098, 'guido': 4127, 'irv': 4127}
>>> list(tel)
['jack', 'guido', 'irv']
>>> sorted(tel)
['guido', 'irv', 'jack']
>>> 'guido' in tel
True
>>> 'jack' not in tel
False
سازنده dict() مستقیما از دنباله های جفت کلید:مقدار دیکشنری می سازد.
>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
{'sape': 4139, 'guido': 4127, 'jack': 4098}
علاوه بر آن از درک مطلب دیکشنری (dict comprehensions) برای ساخت دیکشنری ها از عبارات کلید:مقدار دلخواه می توان استفاده کرد.
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
گاهی ساده تر است، زمانی که کلیدها رشته های ساده هستند، جفت ها را با آرگومان های کلمه کلیدی مشخص کنیم:
>>> dict(sape=4139, guido=4127, jack=4098)
{'sape': 4139, 'guido': 4127, 'jack': 4098}