القواميس والمجموعات
Dictionaries and Sets
تخزين البيانات بأزواج مفتاح وقيمة، والمجموعات للعناصر الفريدة.
القواميس
model = {"name": "ResNet", "layers": 50, "pretrained": True}
model["layers"] # 50
model["optimizer"] = "Adam" # إضافة مفتاح
model.get("dropout", 0.0) # قيمة افتراضية إن لم يوجد
"name" in model # True
del model["pretrained"]المرور على القاموس
for key, value in model.items():
print(key, "→", value)keys() وvalues() وitems() تعيد عروضاً (views) على محتوى القاموس.
العد باستخدام القاموس
words = "the cat and the dog".split()
counts = {}
for w in words:
counts[w] = counts.get(w, 0) + 1
# {'the': 2, 'cat': 1, 'and': 1, 'dog': 1}توفر المكتبة القياسية collections.Counter لأداء ذلك مباشرة.
قواميس مولَّدة
labels = ["cat", "dog", "bird"]
label_to_id = {lbl: i for i, lbl in enumerate(labels)}هذا النمط شائع لتحويل أسماء الفئات إلى أرقام قبل تدريب نموذج.
المجموعات
a = {"python", "numpy", "pandas"}
b = {"pandas", "sklearn"}
a | b # الاتحاد
a & b # التقاطع {'pandas'}
a - b # الفرقالبحث عن عنصر في مجموعة أسرع عادة من البحث في قائمة كبيرة، لأن المجموعة تعتمد على التجزئة (hashing).
متى تستخدم ماذا؟
| الحاجة | البنية |
|---|---|
| تسلسل مرتب قابل للتعديل | list |
| قيم ثابتة مرتبة | tuple |
| بحث بمفتاح | dict |
| عناصر فريدة وعمليات مجموعات | set |
مصطلحات الدرس
- القابلية للتجزئة Hashability
- امتلاك الكائن قيمة تجزئة ثابتة تسمح باستخدامه مفتاحاً في قاموس أو عنصراً في مجموعة.
- القاموس Dictionary
- بنية تربط مفاتيح فريدة بقيم وتتيح البحث بالمفتاح بزمن متوسط ثابت تقريباً.
- المجموعة Set
- بنية تحتوي عناصر فريدة دون ترتيب مضمون، وتدعم عمليات المجموعات الرياضية.
الملخص
القاموس dict يربط مفاتيح فريدة بقيم ويتيح الوصول السريع إليها، ويحافظ على ترتيب الإدراج منذ Python 3.7. المجموعة set تحتوي عناصر فريدة غير مرتبة وتدعم عمليات الاتحاد والتقاطع والفرق. يجب أن تكون المفاتيح وعناصر المجموعات قابلة للتجزئة (hashable).
أسئلة مراجعة
-
كيف تقرأ قيمة مفتاح قد لا يكون موجوداً دون حدوث خطأ؟
باستخدام d.get(key, default).
-
كيف تحذف التكرارات من قائمة؟
بتحويلها إلى set، مع ملاحظة أن الترتيب قد لا يُحفظ.
المصادر والمراجع
إكمال الدرس
أكملت كل دروس المسار! يمكنك الآن طلب شهادة إكمال المسار.
اطلب الشهادة