freeCodeCamp/guide/arabic/python/data-structures/dictionaries/index.md

5.5 KiB

title localeTitle
The Python Dict بيثون ديكت

القاموس (المعروف أيضا باسم "dict") في python هو نوع بيانات مدمج يمكن استخدامه لتخزين أزواج key-value . يتيح لك ذلك التعامل مع نظام dict كما لو كان قاعدة بيانات لتخزين البيانات وتنظيمها.

الشيء الخاص حول القواميس هو الطريقة التي يتم تنفيذها بها. تجعل بنية تشبه جدول التجزئة من السهل التحقق وجود - وهذا يعني أنه يمكننا بسهولة تحديد ما إذا كان هناك مفتاح معين موجود في القاموس دون الحاجة إلى فحصه كل عنصر. يمكن لمترجم Python فقط الذهاب إلى مفتاح الموقع والتحقق من وجود المفتاح.

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

أحد أهم متطلبات القاموس هو أن المفاتيح يجب أن تكون فريدة.
لإنشاء قاموس فارغ ، استخدم زوجًا من الأقواس:

>>> teams = {} >>> type(teams) >>> <class 'dict'>

لإنشاء قاموس غير فارغ يحتوي على بعض القيم المبدئية ، ضع قائمة مفصولة بفواصل من أزواج القيم الرئيسية:

>>> teams = {'barcelona': 1875, 'chelsea': 1910} >>> teams {'barcelona': 1875, 'chelsea': 1910}

من السهل إضافة أزواج قيمة رئيسية إلى قاموس حالي:

>>> teams['santos'] = 1787 >>> teams {'chelsea': 1910, 'barcelona': 1875, 'santos': 1787} # Notice the order - Dictionaries are unordered ! >>> # extracting value - Just provide the key ... >>> teams['barcelona'] 1875

يتم استخدام المشغل del لحذف زوج قيمة مفتاح من dict. في السيناريوهات التي يتم فيها استخدام مفتاح قيد الاستخدام مرة أخرى لتخزين القيم ، يتم فقد القيمة القديمة المرتبطة بهذا المفتاح تمامًا. ضع في اعتبارك أيضًا أنه من الخطأ استخلاص القيمة باستخدام مفتاح غير موجود.

>>> del teams['santos'] >>> teams {'chelsea': 1910, 'barcelona': 1875} >>> teams['chelsea'] = 2017 # overwriting >>> teams {'chelsea': 2017, 'barcelona': 1875}

in الكلمة الأساسية يمكن استخدامها للتحقق من وجود مفتاح في الأمر أم لا:

>>> 'sanots' in teams False >>> 'barcelona' in teams True >>> 'chelsea' not in teams False

keys هي طريقة المضمنة التي يمكن استخدامها للحصول على مفاتيح قاموس معين. لاستخراج المفاتيح الموجودة في dict كقوائم:

>>> club_names = list(teams.keys()) >>> club_names ['chelsea', 'barcelona']

هناك طريقة أخرى لإنشاء القاموس تستخدم طريقة dict() :

>>> players = dict( [('messi','argentina'), ('ronaldo','portugal'), ('kaka','brazil')] ) # sequence of key-value pair is passed >>> players {'ronaldo': 'portugal', 'kaka': 'brazil', 'messi': 'argentina'} >>> >>> # If keys are simple strings, it's quite easier to specify pairs using keyword arguments ... >>> dict( totti = 38, zidane = 43 ) {'zidane': 43, 'totti': 38}

يمكن استخدام اختبارات Dict أيضًا لإنشاء القواميس من تعبيرات المفاتيح والقيمة التعسفية:

>>> {x: x**2 for x in (2, 4, 6)} {2: 4, 4: 16, 6: 36}

التكرار في القاموس
للحلقة ببساطة فوق المفاتيح في القاموس ، بدلاً من المفاتيح والقيم:

>>> d = {'x': 1, 'y': 2, 'z': 3} >>> for key in d: ... print(key) # do something ... x y z

للحلقة فوق كل من المفتاح والقيمة ، يمكنك استخدام ما يلي:
لبيثون 2.x:

>>> for key, item in d.iteritems(): ... print items ... 1 2 3

استخدام items() لـ Python 3.x:

>>> for key, item in d.items(): ... print(key, items) ... x 1 y 2 z 3