اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

الكود ده

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 هو هنا بيبحث عن اي هل علي المفتاح بس والا المفتاح والقيمه كمان

Recommended Posts

  • 0
نشر

لما بتعمل 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("القيمة مش موجودة.")

فالطرق دي بتساعدنا ندور على القيم في القواميس بطرق مختلفة، على حسب احتياجاتنا ايه بالظبط.

  • 0
نشر
بتاريخ 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("القيمة مش موجودة.")

فالطرق دي بتساعدنا ندور على القيم في القواميس بطرق مختلفة، على حسب احتياجاتنا ايه بالظبط.

شكرااا جدا لحضرتك

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...