البرمجة

كيفية استرجاع جميع القيم من قاموس باستخدام حلقة التكرار في Python

عندما نلقي نظرة على الكود الذي قدمته، نجد أن الدالة fun تقوم بتنفيذ عبارة return my_dict[x] داخل حلقة for، وهذا يعني أنها ستقوم بالعودة من أول تكرار في الحلقة فور الانتهاء منه.

لفهم السبب وراء عودة قيمة واحدة فقط، يجب أن نفهم كيف تعمل عبارة return في Python. عندما تصل الدالة إلى عبارة return، تتوقف الدالة عن تنفيذها وتعيد القيمة المحددة. في هذه الحالة، عندما يتم تنفيذ return my_dict[x] لأول مرة في الحلقة، تقوم الدالة بالعودة فوراً، وبالتالي لا تكمل باقي التكرارات.

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

python
my_dict = {"key1": 2, "key2": 3, "key3": 4} def fun(): values_list = [] for x in my_dict: values_list.append(my_dict[x]) return values_list result = fun() print(result)

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

المزيد من المعلومات

عندما نتناول هذا الكود، نجد أنه يقوم بتعريف قاموس (my_dict) يحتوي على ثلاثة أزواج مفتاح وقيمة، حيث يكون المفتاح هو اسم المفتاح (مثل “key1”) والقيمة هي القيمة المرتبطة به.

الدالة (fun) هي التي تحتاج إلى فحصها. في الواقع، عند تنفيذ الحلقة for، يتم الوصول إلى كل مفتاح في القاموس، ولكن هنا هو الجزء المهم: في كل تكرار، يتم استخدام return للعودة بقيمة مرتبطة بالمفتاح الحالي. وهنا يكمن السبب في أن الدالة تعيد قيمة واحدة فقط.

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

لحل هذه المشكلة والحصول على جميع القيم، يمكن تخزين القيم في قائمة وإرجاعها بعد الحلقة. هذا يتيح للدالة إرجاع جميع القيم بدلاً من قيمة واحدة. الكود المعدل يبدو كما يلي:

python
my_dict = {"key1": 2, "key2": 3, "key3": 4} def fun(): values_list = [] for x in my_dict: values_list.append(my_dict[x]) return values_list result = fun() print(result)

باستخدام هذا التعديل، ستحتوي result على القائمة [2, 3, 4]، وهي جميع القيم الموجودة في القاموس.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

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