بايثون: إضافة عناصر إلى القاموس | من الأساسيات للمتقدم

1. ما هو القاموس (Dictionary) في بايثون

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

الميزات الأساسية للقاموس

  • أزواج المفتاح والقيمة: القاموس يتكون من مفتاح فريد والقيمة المقابلة له. يجب أن يكون المفتاح من نوع غير قابل للتغيير (مثل السلاسل أو الأرقام)، ويمكن أن تكون القيمة من أي نوع.
  • لا ترتيب: لا يحتوي القاموس في بايثون على ترتيب تخزين، لذا يتم البحث عن القيمة بتحديد المفتاح.
  • الإشارة إلى القيمة: يمكن الإشارة إلى القيمة بسرعة عن طريق تحديد المفتاح.

مثال على إنشاء القاموس

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

my_dict = {
"apple": "تفاح",
"banana": "موز",
"cherry": "كرز"
}

استخراج القيمة

print(my_dict["apple"]) # الإخراج: تفاح

2. الطريقة الأساسية لإضافة عناصر إلى قاموس بايث

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

طريقة إضافة العناصر الأساسية

الصيغة لإضافة عنصر جديد إلى القاموس هي كما يلي.
إضافة عنصر جديد

my_dict["orange"] = "برتقال"
print(my_dict)

الإخراج: {'apple': 'تفاح', 'banana': 'موز', 'cherry': 'كرز', 'orange': 'برتقال'}
بهذه الطريقة، إذا لم يكن المفتاح المحدد موجودًا، يتم إضافة عنصر جديد. ومع ذلك، إذا تم استخدام مفتاح موجود، سيتم استبدال قيمته، لذا يجب الانتباه إلى ذلك.

الاستبدال عند استخدام نفس المفتاح

عند إضافة قيمة جديدة إلى القاموس باستخدام مفتاح موجود، يتم استبدال القيمة القديمة.
my_dict["banana"] = "عصير موز"
print(my_dict)

الإخراج: {'apple': 'تفاح', 'banana': 'عصير موز', 'cherry': 'كرز', 'orange': 'برتقال'}
بهذه الطريقة، يتم تغيير قيمة المفتاح الموجود بالفعل "banana"، ويتم استبدال القيمة الأصلية.
年収訴求

3. طريقة إضافة عناصر إلى القاموس مع تجنب الكتابة فوق

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

setdefault() مثال على الاستخدام

الكود التالي يوضح كيفية إضافة عنصر جديد باستخدام setdefault() دون الكتابة فوق العناصر الموجودة.
my_dict.setdefault("banana", "عصير الموز")
my_dict.setdefault("grape", "عنب")
print(my_dict)

الإخراج: {'apple': 'تفاح', 'banana': 'عصير الموز', 'cherry': 'كرز', 'orange': 'برتقال', 'grape': 'عنب'}
في هذا المثال، المفتاح "banana" موجود بالفعل، لذا لم يتم كتابة القيمة فوقها، وتم إضافة المفتاح الجديد فقط "grape".

4. طريقة دمج قواميس متعددة وإضافة عناصر

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

update() مثال على الاستخدام

فيما يلي مثال على دمج قاموسين باستخدام طريقة update().
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict1.update(dict2)
print(dict1)

الإخراج: {'a': 1, 'b': 3, 'c': 4}
في هذا المثال، بما أن المفتاح "b" موجود في القاموسين، تم استبدال قيمة dict1 بقيمة dict2. المفتاح الجديد "c" يُضاف إلى dict1.

طريقة تجنب الاستبدال

إذا كنت تريد دمج القواميس دون استبدال القيم، يمكنك الجمع بين setdefault() وحلقة for.
for key, value in dict2.items():
dict1.setdefault(key, value)
print(dict1)

الإخراج: {'a': 1, 'b': 2, 'c': 4}

5. تقنيات متقدمة: إضافة عناصر بشرط

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

مثال على إضافة عناصر بشرط

الكود التالي هو مثال على إضافة الفواكه التي تفي بمعيار معين للسعر فقط إلى القاموس.
items = [("apple", 100), ("banana", 150), ("cherry", 200)]
fruit_dict = {}

for fruit, price in items:
if price > 120:
fruit_dict[fruit] = price

print(fruit_dict)

الإخراج: {'banana': 150, 'cherry': 200}
في هذا المثال، يتم إضافة الفواكه التي يتجاوز سعرها 120 فقط إلى القاموس. عند إضافة عناصر إلى القاموس بشرط، يمكن معالجة مرنة مثل هذه.

6. معالجة الأخطاء عند التعامل مع القواميس

من الأخطاء الشائعة التي قد تحدث عند التعامل مع القواميس هو KeyError. إذا كان المفتاح المحدد غير موجود في القاموس، يحدث هذا الخطأ. لتجنب الخطأ، من الشائع التحقق من وجود المفتاح أو استخدام طريقة get().

KeyError طريقة تجنب

المثال التالي يوضح طريقة تجنب الخط طريقة>()
value = my_dict.get("pear", "المفتاح غير موجود")
print(value)

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

7. ملخص: أفضل الممارسات لإضافة القاموس

تتنوع طرق إضافة عناصر إلى القاموس في بايثون من الإضافة البسيطة إلى الدمج المعقد والإضافة المشروطة. إذا احتفظت بالنقاط التالية في ذهنك، يمكنك التعامل مع القواميس بفعالية أكبر.
  • الإضافة الأساسية: [キー] = 値 باستخدامه لإضافة بسيطة.
  • تجنب الكتابة فوق القيم: setdefault() باستخدامه لمنع الكتابة فوق القيم غير المقصودة.
  • دمج قواميس متعددة: update() لإضافة العناصر بكفاءة.
  • معالجة الأخطاء: لتجنب KeyError، استخدم get() أو تحقق من الوجود.
من خلال اختيار الطريقة المناسبة من بين هذه الأساليب، ستصبح عمليات القاموس في بايثون أكثر سلاسة.
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール