Ali Ahmed55 نشر 13 أبريل أرسل تقرير نشر 13 أبريل السلام عليكم الكود ده counts = { 'python':0, 'c':0, 'c++':0, } favorties = 'python' if favorties in counts: counts[favorties] += 1 else: counts[favorties] = 1 السوال في الجزاء ده من الكود if favorties in counts: counts[favorties] += 1 else: counts[favorties] = 1 السوال ده هو ان لما ابحث هنا وبداخل علي dict هو هنا بيبحث عن اي هل علي المفتاح بس والا المفتاح والقيمه كمان 1 اقتباس
0 Khaled Osama3 نشر 13 أبريل أرسل تقرير نشر 13 أبريل لما بتعمل if favorites in counts: بايثون بتشوف لو المفتاح favorites موجود في القاموس counts ولا لأ. مش بتشوف على القيم خالص، بس بتدور على المفاتيح. يعني في القاموس counts عندما يرن if favorites in counts: بيشوف لو المفتاح 'python' موجود في القاموس counts ولا لأ، وبما انه موجود فعلاً، يبقى هيدخل على الجزء الأول ويزود القيمة البتاعته بواحد counts[favorites] += 1. لكن لو كان المفتاح مش موجود، يبقى هيدخل على else ويعمل مفتاح جديد في القاموس بقيمة 1. فلخصنا، لما بتستخدم in مع قاموس في بايثون، بتبقى بتدور على المفاتيح بس، مش على القيم. لكن لو اردت ان تدور على قيمة معينة جوه قاموس في بايثون، مينفعش نستخدم in عادي لأنها بتدور على المفاتيح بس مش القيم. لازم نستخدم طرق تانية، زي: 1. ندور على القيم من خلال دالة values()، زي: counts = {'python': 1, 'c': 0, 'c++': 0} value_to_find = 1 if value_to_find in counts.values(): print("القيمة موجودة في القاموس.") else: print("القيمة مش موجودة.") 2. ندور على القيمة من خلال حلقة تكرار، زي: counts = {'python': 1, 'c': 0, 'c++': 0} value_to_find = 1 found = False for key, value in counts.items(): if value == value_to_find: print(f"القيمة موجودة تحت المفتاح '{key}'.") found = True break if not found: print("القيمة مش موجودة.") 3. نستخدم list comprehension عشان نطلع قايمة بالمفاتيح اللي بتحوي القيمة دي، زي: counts = {'python': 1, 'c': 0, 'c++': 1} value_to_find = 1 keys_with_value = [key for key, value in counts.items() if value == value_to_find] if keys_with_value: print(f"القيمة موجودة تحت المفاتيح: {keys_with_value}") else: print("القيمة مش موجودة.") فالطرق دي بتساعدنا ندور على القيم في القواميس بطرق مختلفة، على حسب احتياجاتنا ايه بالظبط. 1 اقتباس
0 Ali Ahmed55 نشر 13 أبريل الكاتب أرسل تقرير نشر 13 أبريل بتاريخ 2 دقائق مضت قال Khaled Osama3: لما بتعمل if favorites in counts: بايثون بتشوف لو المفتاح favorites موجود في القاموس counts ولا لأ. مش بتشوف على القيم خالص، بس بتدور على المفاتيح. يعني في القاموس counts عندما يرن if favorites in counts: بيشوف لو المفتاح 'python' موجود في القاموس counts ولا لأ، وبما انه موجود فعلاً، يبقى هيدخل على الجزء الأول ويزود القيمة البتاعته بواحد counts[favorites] += 1. لكن لو كان المفتاح مش موجود، يبقى هيدخل على else ويعمل مفتاح جديد في القاموس بقيمة 1. فلخصنا، لما بتستخدم in مع قاموس في بايثون، بتبقى بتدور على المفاتيح بس، مش على القيم. لكن لو اردت ان تدور على قيمة معينة جوه قاموس في بايثون، مينفعش نستخدم in عادي لأنها بتدور على المفاتيح بس مش القيم. لازم نستخدم طرق تانية، زي: 1. ندور على القيم من خلال دالة values()، زي: counts = {'python': 1, 'c': 0, 'c++': 0} value_to_find = 1 if value_to_find in counts.values(): print("القيمة موجودة في القاموس.") else: print("القيمة مش موجودة.") 2. ندور على القيمة من خلال حلقة تكرار، زي: counts = {'python': 1, 'c': 0, 'c++': 0} value_to_find = 1 found = False for key, value in counts.items(): if value == value_to_find: print(f"القيمة موجودة تحت المفتاح '{key}'.") found = True break if not found: print("القيمة مش موجودة.") 3. نستخدم list comprehension عشان نطلع قايمة بالمفاتيح اللي بتحوي القيمة دي، زي: counts = {'python': 1, 'c': 0, 'c++': 1} value_to_find = 1 keys_with_value = [key for key, value in counts.items() if value == value_to_find] if keys_with_value: print(f"القيمة موجودة تحت المفاتيح: {keys_with_value}") else: print("القيمة مش موجودة.") فالطرق دي بتساعدنا ندور على القيم في القواميس بطرق مختلفة، على حسب احتياجاتنا ايه بالظبط. شكرااا جدا لحضرتك 1 اقتباس
السؤال
Ali Ahmed55
السلام عليكم
الكود ده
السوال في الجزاء ده من الكود
if favorties in counts: counts[favorties] += 1 else: counts[favorties] = 1
السوال ده
هو ان لما ابحث هنا وبداخل علي dict هو هنا بيبحث عن اي هل علي المفتاح بس والا المفتاح والقيمه كمان
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.