دروس فهم قاموس بايثون

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

دروس فهم قاموس بايثون

يعد فهم قاموس Python أداة مهمة تسمح لك بإنشاء قواميس ديناميكيًا عن طريق التكرار على هياكل البيانات أو القواميس الحالية القابلة للتكرار لإنشاء قواميس جديدة. يمكنك التفكير في فهم القاموس على أنه مشابه لفهم القائمة ولكن مع حالة استخدام مختلفة قليلاً.

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

إذا كنت جديدًا على Python ، فربما لم تصادف الفهم أو استخدمته في الكود الخاص بك. قبل الغوص في بناء الجملة ، دعنا نتناول السؤال الأساسي: ما هو فهم قاموس بايثون؟

جدول المحتويات

ما هو فهم قاموس بايثون؟

يعد فهم قاموس Python طريقة موجزة لإنشاء قواميس باستخدام تعبيرات بسيطة. يسمح لك بإنشاء قواميس جديدة دون الحاجة إلى استخدام for-loops

دعنا نلقي نظرة على مثال على الفهم. افترض أن لديك قائمتين ، إحداهما تحتوي على مفاتيح والأخرى تحتوي على قيم:

keys = ['a', 'b', 'c']
values = [1, 2, 3]

باستخدام فهم القاموس ، يمكنك إنشاء قاموس جديد عن طريق التكرار على القائمتين والجمع بين أزواج المفتاح والقيمة المقابلة:

my_dict = {k: v for k, v in zip(keys, values)}
print(my_dict)

سيكون الإخراج:

{'a': 1, 'b': 2, 'c': 3}

دروس فهم قاموس بايثون

يجب أن يعطي المثال أعلاه فكرة عن ماهية الفهم في بايثون . لمساعدتك على ترسيخ المفهوم بشكل أكبر ، دعنا نفهم بناء جملة فهم القاموس في بايثون.

فهم بناء جملة فهم القاموس

بناء الجملة لفهم القاموس بسيط ولكنه قوي. أنها توفر طريقة موجزة لإنشاء قاموس جديد في بايثون . كما أنهم يتبعون بناء جملة مشابهًا لفهم القائمة لكنهم يستخدمون الأقواس المتعرجة {} وزوج قيم مفتاح مفصولة بنقطتين.

الهيكل الأساسي كما يلي:

{key: value for (key, value) in iterable}

في بناء الجملة هذا ، يمثل المفتاح والقيمة التعبيرات المستخدمة لإنشاء مفاتيح وقيم القاموس الناتج. يوفر المتكرر مصدر البيانات المستخدمة لإنشاء أزواج المفتاح والقيمة.

تم تقديم بناء الجملة هذا في Python 3 وتم نقله إلى الخلف حتى Python 2.7 ، مما يضمن توافقًا واسعًا عبر إصدارات Python.

على سبيل المثال ، لإنشاء قاموس يقوم بتعيين الأرقام من 0 إلى 4 إلى مربعاتها باستخدام فهم القاموس ، يمكنك استخدام كود Python التالي:

square_dict = {x: x**2 for x in range(5)}

سينتج عن ذلك القاموس التالي:

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

دروس فهم قاموس بايثون

ماذا لو كنت ترغب في تكرار أكثر من متغيرين في نفس الوقت؟ يمكنك تحقيق ذلك باستخدام فهم القاموس باستخدام وظيفة zip () لإنشاء قاموس من متغيرين ، أحدهما يمثل المفاتيح والآخر يمثل القيم. هذا مثال:

keys = ['a', 'b', 'c', 'd', 'e']
values = [1, 2, 3, 4, 5]
my_dict = {k: v for k, v in zip(keys, values)}

القاموس الناتج سيكون:

{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

دروس فهم قاموس بايثون

يتيح لك فهم القاموس أيضًا إضافة عبارة if اختيارية في نهاية الفهم لتطبيق مرشح شرطي على العناصر المضمنة.

على سبيل المثال ، يمكنك إنشاء قاموس بأرقام زوجية ومربعاتها فقط باستخدام فهم القاموس:

even_square_dict = {x: x**2 for x in range(10) if x % 2 == 0}

وينتج عنه:

{0: 0, 2: 4, 4: 16, 6: 36, 8: 64}

دروس فهم قاموس بايثون

الآن بعد أن أصبح لديك بعض الإلمام بصيغة الفهم ، دعنا نلقي نظرة على بعض أمثلة الفهم.

أمثلة على فهم القاموس

يجد فهم القاموس مجموعة من حالات الاستخدام بسبب تركيبته القوية والأنيقة. يمكن أن توفر لك الوقت وتجعل شفرتك أكثر قابلية للقراءة.

تعيين الأرقام لمربعاتها

ضع في اعتبارك مثالًا بسيطًا حيث تريد إنشاء قاموس يقوم بتعيين الأرقام لمربعاتها باستخدام فهم قاموس Python:

squares = {x: x**2 for x in range(1, 6)}
print(squares)

سينتج هذا:

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

يقوم الكود أعلاه بنفس وظيفة تشغيل حلقة ست مرات وتربيع كل رقم. يوضح الكود أدناه تشغيل حلقة لأخذ مربعات الأرقام:

squares = {}
for x in range(1, 6):
    squares[x] = x ** 2

print(squares)

في هذه المرحلة ، قد تتساءل عن سبب استخدام الفهم عندما يمكنك استخدام الحلقات. في البرمجة ، تتمثل القاعدة الأساسية في كتابة كود مدمج وفعال.

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

even_squares = {x: x**2 for x in range(1, 6) if x % 2 == 0}
print(even_squares)

سيؤدي تشغيل هذا الرمز إلى إنتاج قاموس جديد مثل ما يلي:

{2: 4, 4: 16}

عكس المفاتيح والقيم

يمكنك أيضًا عكس عناصر القاموس بسهولة باستخدام فهم القاموس في Python.

يوضح الكود التالي كيفية عكس مفاتيح وقيم قاموس موجود باستخدام فهم القاموس:

original_dict = {"one": 1, "two": 2, "three": 3, "four": 4}
reversed_dict = {v: k for k, v in original_dict.items()}
print(reversed_dict)

سيقوم فهم القاموس أعلاه (أو ديكت الفهم) بطباعة ما يلي:

{1: 'one', 2: 'two', 3: 'three', 4: 'four'}

دروس فهم قاموس بايثون

للحصول على فهم جيد لماهية القواميس وكيف يمكنك استخدامها لحالات مختلفة ، يرجى الرجوع إلى الفيديو الموضح أدناه:

تعمل الأمثلة المقدمة كأساس متين لاستخدام فهم القاموس في مشاريع Python الخاصة بك.

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

3 المزايا الرئيسية لفهم القاموس

لقد اختبرت أناقة فهم القاموس من خلال الأمثلة المقدمة. بصرف النظر عن قابلية القراءة ، توفر عمليات الفهم العديد من المزايا ، بما في ذلك الكفاءة ، عند العمل مع بنية جدول تجزئة المفتاح / القيمة الفعالة في Python ، والتي تسمى ديكت الفهم.

1. إنشاء كود واضح وبسيط

تتيح لك عمليات الفهم إنشاء قواميس جديدة بسهولة وبطريقة مقروءة. إنها تجعل الكود الخاص بك يبدو ويشعر بمزيد من Pythonic مقارنةً بالحلقات التقليدية.

2. أداء أفضل بأناقة

الفهمات ليست أنيقة فحسب ، بل فعالة أيضًا. غالبًا ما تعمل بشكل أسرع من حلقات for لأنها تستخدم تعبيرًا واحدًا. تعمل Python على تحسين هذا النوع من التعليمات البرمجية ، مما يلغي الحاجة إلى استدعاء مُنشئ القاموس بشكل متكرر أو استخدام طريقة update ().

3. سهولة التصفية وتحويل البيانات

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

من المهم أن نفهم متى تستخدم فهم القاموس في بايثون ، حيث يمكن أن تصبح معقدة بسرعة ويصعب قراءتها وكتابتها. الآن ، دعنا نستكشف بعض حالات الاستخدام لفهم القاموس في بايثون.

3 أمثلة على متى يجب استخدام فهم القاموس

الفهم مفيد في السيناريوهات الثلاثة التالية:

1. عند إنشاء قاموس من قائمتين

{key:value for key, value in zip(list1, list2)}

2. عند تصفية القاموس على أساس القيمة

{k: v for k, v in original_dict.items() if v > threshold}

3. عند تحويل المفاتيح أو القيم

{k.upper(): v * 2 for k, v in original_dict.items()}

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

دعنا نلقي نظرة على بعض المخاطر الأكثر شيوعًا عند استخدام فهم القاموس.

مطبات فهم القاموس

تجلب عمليات فهم القاموس الأناقة والكفاءة ولكنها تأتي أيضًا مع التحديات. سنناقش المزالق الشائعة المتعلقة بقابلية القراءة والتعقيد والأداء مع مجموعات البيانات الكبيرة.

موازنة التعقيد وقابلية القراءة

قد يكون من الصعب قراءة الفهم المعقد للقاموس. إعطاء الأولوية لقراءة الكود ، خاصة عند العمل مع الآخرين. في بعض الحالات ، قد تكون حلقات for التقليدية أبسط وأكثر قابلية للصيانة.

الأداء مع مجموعات البيانات الكبيرة

بالنسبة لمجموعات البيانات الكبيرة ، قد لا يكون فهم القاموس دائمًا هو الأمثل. وفقًا لـ Stack Overflow ، يمكن لمُنشئ الرسالة المدمج أن يتفوق على فهم القاموس مع العديد من أزواج قيمة المفتاح بسبب التكرار في C.

مقارنة مع طرق أخرى

في هذا القسم ، سنقارن فهم القاموس بطريقتين بديلتين لإنشاء القواميس في بايثون: الحلقات for loops ووظائف lambda.

لحلقة

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

فيما يلي مثال على إنشاء قاموس باستخدام حلقات for:

dictionary = {}
for key, value in zip(keys, values):
    dictionary[key] = value

على العكس من ذلك ، يتيح لك فهم القاموس تحقيق نفس النتيجة في سطر واحد:

dictionary = {key: value for key, value in zip(keys, values)}

دروس فهم قاموس بايثون

كما ترى ، توفر عمليات الفهم طريقة موجزة وأكثر قابلية للقراءة لإنشاء قواميس في بايثون.

وظائف لامدا

يمكننا أيضًا استخدام وظائف Lambda لإنشاء قواميس. وظائف Lambda هي طريقة لإنشاء وظائف صغيرة مجهولة الاسم في Python. يمكن استخدامها مع وظيفة map () لإنشاء قاموس.

لنلقِ نظرة على مثال عن دوال Lambda لإنشاء القواميس:

keys = ['a', 'b', 'c']
values = [1, 2, 3]

key_value_pairs = map(lambda key, value: (key, value), keys, values)
dictionary = dict(key_value_pairs)

بالمقارنة ، إليك كيفية إنشاء نفس القاموس باستخدام الفهم:

dictionary = {key: value for key, value in zip(keys, values)}

دروس فهم قاموس بايثون

مرة أخرى ، يوفر فهم القاموس بديلاً موجزًا ​​وأكثر قابلية للقراءة لإنشاء قواميس باستخدام وظائف lambda ووظيفة map ().

أفضل الممارسات لفهم القاموس

عند استخدام عمليات الفهم في Python ، من الضروري اتباع أفضل الممارسات لتحسين إمكانية القراءة وقابلية الصيانة والكفاءة. فيما يلي بعض أفضل الممارسات التي يجب وضعها في الاعتبار:

1. حافظ على فهم القاموس بسيطًا

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

2. الاستفادة من الوظائف المدمجة

تقدم Python وظائف مضمنة مثل zip () و enumerate () التي تساعد في تكوين الفهم. استخدم هذه الوظائف لتبسيط التعليمات البرمجية الخاصة بك وجعلها أكثر قابلية للقراءة.

على سبيل المثال ، استخدام zip () لدمج قائمتين وإنشاء قاموس ينتج عنه رمز موجز ونظيف مثل هذا:

{key: value for key, value in zip(keys, values)}

3. استخدم العبارات الشرطية بحكمة

قم بتضمين العبارات الشرطية في فهمك عند الضرورة ، ولكن لا تفرط في استخدامها. يمكن أن تساعد في تصفية القاموس الناتج أو تعديله ، لكن العديد من الشروط المتداخلة يمكن أن تجعل من الصعب قراءة التعليمات البرمجية. مثال بسيط يتضمن بيانًا شرطيًا هو:

{x: x**2 for x in range(10) if x % 2 == 0}

4. انتبه إلى فهم القاموس المتداخل

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

في بعض الأحيان قد تضطر إلى استخدام فهم القاموس المتداخل داخل حلقات لتحقيق الكفاءة المطلوبة.

قولنا النهائي

الآن ، لقد أتقنت فهم القاموس في بايثون. تساعد هذه التقنية الأنيقة والفعالة في إنشاء قواميس عن طريق التكرار فوق المتكررات أو استخدام الشروط. تعمل عمليات الفهم على تبسيط التعليمات البرمجية الخاصة بك ، مما يعزز قابلية القراءة وقابلية الصيانة.

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

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

Leave a Comment

تقنية تصور LuckyTemplates: تعرف على كيفية إنشاء لوحات تصميم الخلفية

تقنية تصور LuckyTemplates: تعرف على كيفية إنشاء لوحات تصميم الخلفية

تعرف على تقنية تصور LuckyTemplates هذه حتى تتمكن من إنشاء قوالب الخلفية واستيرادها إلى تقارير LuckyTemplates الخاصة بك.

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

كيفية حفظ وتحميل ملف RDS في R.

كيفية حفظ وتحميل ملف RDS في R.

ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.

مقدمة لتصفية السياق في LuckyTemplates

مقدمة لتصفية السياق في LuckyTemplates

في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX ​​في توفير النتائج.

إعداد تقارير الأعمال باستخدام LuckyTemplates

إعداد تقارير الأعمال باستخدام LuckyTemplates

إذا كنت لا تزال تستخدم Excel حتى الآن ، فهذا هو أفضل وقت لبدء استخدام LuckyTemplates لاحتياجات إعداد تقارير الأعمال الخاصة بك.