کار با دیکشنریهای پیچیده
**داستان کوتاه: کار با دیکشنریهای پیچیده**
آراد بعد از ساخت دفترچه تلفن دیجیتال، تصمیم گرفت پروژه جدیدی شروع کند. این بار، میخواست یک سیستم برای ذخیره اطلاعات مربوط به کتابها طراحی کند. او قصد داشت که برای هر کتاب، علاوه بر نام و نویسنده، سال انتشار و تعداد صفحات را هم ذخیره کند. اما سوالی برایش پیش آمد: «چطور میتوانم اطلاعات بیشتری برای هر کتاب ذخیره کنم و به راحتی به آنها دسترسی پیدا کنم؟»
آراد با فکر به سینا پیام داد: «سینا، میخواهم اطلاعات کتابها رو ذخیره کنم. میخواهم برای هر کتاب، علاوه بر اسم و نویسنده، سال انتشار و تعداد صفحات رو هم نگه دارم. چطور میتونم این کار رو انجام بدم؟»
سینا که همیشه آماده کمک بود، جواب داد: «آره، خیلی خوبه! برای این کار میتونی از دیکشنریهای پیچیده استفاده کنی. منظورم اینه که به جای ذخیرهی فقط یک مقدار برای هر کتاب، میتونی از دیکشنریها در داخل دیکشنریها استفاده کنی. به این ترتیب، میتونی اطلاعات مختلف مثل نام کتاب، نویسنده، سال انتشار و تعداد صفحات رو ذخیره کنی.»
آراد با تعجب پرسید: «یعنی میتونم داخل یک دیکشنری، دیکشنریهای دیگه هم بذارم؟»
سینا جواب داد: «دقیقاً! این دیکشنریهای تو در تو خیلی مفیدند. برای مثال، برای هر کتاب میتوانی یک دیکشنری بسازی که اطلاعات مختلف کتاب را در خود ذخیره کند.»
سینا کد زیر را فرستاد تا آراد بهتر بفهمد:
“`python
books = {
“کتاب اول”: {“نویسنده”: “نادر ابراهیمی”, “سال انتشار”: ۱۳۸۰, “تعداد صفحات”: ۳۰۰},
“کتاب دوم”: {“نویسنده”: “جواد مجابی”, “سال انتشار”: ۱۳۹۰, “تعداد صفحات”: ۲۵۰},
“کتاب سوم”: {“نویسنده”: “آلبر کامو”, “سال انتشار”: ۱۳۴۵, “تعداد صفحات”: ۲۰۰}
}
print(books)
“`
آراد کد را اجرا کرد و خروجی به این شکل بود:
“`
{‘کتاب اول’: {‘نویسنده’: ‘نادر ابراهیمی’, ‘سال انتشار’: ۱۳۸۰, ‘تعداد صفحات’: ۳۰۰},
‘کتاب دوم’: {‘نویسنده’: ‘جواد مجابی’, ‘سال انتشار’: ۱۳۹۰, ‘تعداد صفحات’: ۲۵۰},
‘کتاب سوم’: {‘نویسنده’: ‘آلبر کامو’, ‘سال انتشار’: ۱۳۴۵, ‘تعداد صفحات’: ۲۰۰}}
“`
آراد گفت: «وای! پس داخل هر کتاب یک دیکشنری هست که اطلاعات مختلفش رو ذخیره کرده! حالا اگه بخوام یک کتاب جدید اضافه کنم، چطور باید این کار رو انجام بدم؟»
سینا جواب داد: «برای اضافه کردن یک کتاب جدید به دیکشنری، میتونی از کلید جدید استفاده کنی و برای اون کلید، یک دیکشنری جدید با اطلاعات کتاب اضافه کنی.»
آراد کد زیر را نوشت:
“`python
books[“کتاب چهارم”] = {“نویسنده”: “سیمین دانشور”, “سال انتشار”: ۱۳۶۰, “تعداد صفحات”: ۳۵۰}
print(books)
“`
نتیجه به این شکل بود:
“`
{‘کتاب اول’: {‘نویسنده’: ‘نادر ابراهیمی’, ‘سال انتشار’: ۱۳۸۰, ‘تعداد صفحات’: ۳۰۰},
‘کتاب دوم’: {‘نویسنده’: ‘جواد مجابی’, ‘سال انتشار’: ۱۳۹۰, ‘تعداد صفحات’: ۲۵۰},
‘کتاب سوم’: {‘نویسنده’: ‘آلبر کامو’, ‘سال انتشار’: ۱۳۴۵, ‘تعداد صفحات’: ۲۰۰},
‘کتاب چهارم’: {‘نویسنده’: ‘سیمین دانشور’, ‘سال انتشار’: ۱۳۶۰, ‘تعداد صفحات’: ۳۵۰}}
“`
آراد گفت: «عالیه! میتوانم کتاب جدیدی اضافه کنم. حالا اگر بخوام اطلاعات یکی از کتابها رو تغییر بدم، باید چی کار کنم؟»
سینا توضیح داد: «برای تغییر اطلاعات یک کتاب، میتونی از کلید کتاب استفاده کنی و مقدار جدید رو برای هر کدوم از مقادیر داخل دیکشنری تغییر بدی.»
آراد کد زیر را نوشت:
“`python
books[“کتاب دوم”][“سال انتشار”] = 1395
books[“کتاب دوم”][“تعداد صفحات”] = 270
print(books)
“`
نتیجه به این صورت بود:
“`
{‘کتاب اول’: {‘نویسنده’: ‘نادر ابراهیمی’, ‘سال انتشار’: ۱۳۸۰, ‘تعداد صفحات’: ۳۰۰},
‘کتاب دوم’: {‘نویسنده’: ‘جواد مجابی’, ‘سال انتشار’: ۱۳۹۵, ‘تعداد صفحات’: ۲۷۰},
‘کتاب سوم’: {‘نویسنده’: ‘آلبر کامو’, ‘سال انتشار’: ۱۳۴۵, ‘تعداد صفحات’: ۲۰۰},
‘کتاب چهارم’: {‘نویسنده’: ‘سیمین دانشور’, ‘سال انتشار’: ۱۳۶۰, ‘تعداد صفحات’: ۳۵۰}}
“`
آراد با رضایت گفت: «حالا میبینم که میتوانم اطلاعات کتابها رو تغییر بدم. اگر بخوام یک کتاب رو حذف کنم، چطور این کار رو انجام بدم؟»
سینا جواب داد: «برای حذف یک کتاب، میتوانی از دستور `del` استفاده کنی.»
آراد کد زیر را تایپ کرد:
“`python
del books[“کتاب سوم”]
print(books)
“`
نتیجه به این صورت بود:
“`
{‘کتاب اول’: {‘نویسنده’: ‘نادر ابراهیمی’, ‘سال انتشار’: ۱۳۸۰, ‘تعداد صفحات’: ۳۰۰},
‘کتاب دوم’: {‘نویسنده’: ‘جواد مجابی’, ‘سال انتشار’: ۱۳۹۵, ‘تعداد صفحات’: ۲۷۰},
‘کتاب چهارم’: {‘نویسنده’: ‘سیمین دانشور’, ‘سال انتشار’: ۱۳۶۰, ‘تعداد صفحات’: ۳۵۰}}
“`
آراد گفت: «حذف کردن هم خیلی راحت بود! حالا با استفاده از دیکشنریهای پیچیده، میتوانم اطلاعات کاملی از کتابها ذخیره کنم و به راحتی تغییرات دلخواه رو اعمال کنم.»
سینا تایید کرد: «آفرین! دیکشنریهای پیچیده به شما این امکان رو میده که دادههای بیشتری رو در یک ساختار منطقی ذخیره کنید و در عین حال به راحتی اونها رو مدیریت کنید.»
آراد با خوشحالی گفت: «ممنون سینا! حالا میدونم چطور میتوانم برای هر کتاب یک دیکشنری درست کنم و اطلاعاتش رو ذخیره کنم. این خیلی مفید خواهد بود.»