AzLearn

القواميس والمجموعات

Dictionaries & Sets

مفهوم ~18 دقيقة

القواميس والمجموعات — Dictionaries & Sets

القاموس (dict) والمجموعة (set) يشتركان في فكرة واحدة: الوصول السريع. لكن لكل منهما غرض مختلف. القاموس يربط مفتاحاً بقيمة — كمعجم حقيقي تبحث فيه بكلمة فتجد تعريفها. المجموعة تخزن قيماً فريدة فقط — كقائمة حضور لا تقبل اسماً مرتين.

فهم متى تستخدم كلاً منهما يجعل كودك أسرع وأوضح. بدلاً من البحث في قائمة كل مرة (O(n))، قاموس أو مجموعة يجيبانك فوراً (O(1) في الغالب).

القواميس (Dictionaries)

القاموس يُنشأ بأقواس معقوصة، وكل عنصر فيه زوج مفتاح: قيمة:

main.go

الوصول والتعديل والإضافة

main.go

التحقق من وجود مفتاح

main.go

المرور على القاموس

main.go

بناء قاموس من بيانات

main.go

المجموعات (Sets)

المجموعة تخزن عناصر فريدة غير مرتبة. مفيدة لإزالة التكرار وعمليات المقارنة:

main.go

إضافة وحذف من المجموعة

main.go

عمليات المجموعات

هنا تظهر قوة المجموعات — العمليات الرياضية تُكتب بسطر واحد:

main.go

متى تستخدم dict ومتى set؟

استخدم dict عندما:

  • تريد ربط مفتاح بقيمة (اسم → درجة، SKU → سعر، مفتاح إعداد → قيمة)
  • تحتاج الوصول السريع لبيانات مرتبطة بمعرّف

استخدم set عندما:

  • تريد قائمة عناصر فريدة (لا تكرار)
  • تحتاج عمليات مجموعات: من هو في كلا الفريقين؟ من في الأول ليس في الثاني؟
  • تريد التحقق من الوجود بسرعة (in في set أسرع من in في list)
main.go
تحدي — Challenge

خلاصة

dict وset يحلان مشكلتين مختلفتين بكفاءة. القاموس يجعل البحث بمفتاح آنياً بدلاً من المرور على قائمة. المجموعة تضمن الفرادة وتجعل عمليات المقارنة بين مجموعات بيانات سطراً واحداً. في الدرس القادم ستتعلم Comprehensions — وستجد أن بناء هذه الهياكل يصبح أكثر إيجازاً وأناقة.