"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إنشاء قواميس متداخلة ديناميكيًا بعمق غير محدود في بايثون؟

كيفية إنشاء قواميس متداخلة ديناميكيًا بعمق غير محدود في بايثون؟

تم النشر بتاريخ 2024-11-06
تصفح:726

How to Create Dynamically Nested Dictionaries with Unlimited Depth in Python?

قواميس متداخلة ديناميكيًا ذات عمق غير محدد

في السيناريوهات التي تتضمن هياكل بيانات معقدة متعددة المستويات، غالبًا ما تكون هناك حاجة إلى قواميس ذات تداخل متغير المستويات. في حين أن عبارات الإدراج ذات الترميز الثابت هي حل محتمل، فإن هذا الأسلوب غير عملي عندما يكون عمق التداخل غير معروف مسبقًا.

للتغلب على هذا القيد، فكر في استخدام مجموعات Python.defaultdict، والتي تسمح بإنشاء قاموس ديناميكي. يمكن إنشاء القواميس المتداخلة باستخدام تعبير لامدا التالي:

nested_dict = lambda: defaultdict(nested_dict)

تنتج وظيفة lambda هذه قاموسًا متداخلًا يتصرف بشكل مماثل للقاموس الافتراضي الخاص بـ defaultdict. سلوك إنشاء قواميس للمفاتيح المفقودة. فهو يتيح إنشاء قواميس ذات عمق اعتباطي دون الحاجة إلى تعريف واضح.

لتوضيح استخدامه، خذ بعين الاعتبار المثال التالي:

nest = nested_dict()
nest[0][1][2][3][4][5] = 6

في هذه الحالة، يتم إنشاء قاموس يحتوي على ستة مستويات متداخلة ديناميكيًا بمجرد الوصول إلى المفاتيح المناسبة داخل الكائن المتداخل. يوفر هذا الأسلوب طريقة مرنة وفعالة لتمثيل البيانات متعددة المستويات، بغض النظر عن عمقها.

بيان الافراج أعيد طبع هذه المقالة على: 1729129458 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3