القواميس في بيثون هي واحدة من هياكل البيانات الأكثر ملاءمة ومفيدة. إنها تسمح لك بتخزين المعلومات وتنظيمها في شكل أزواج ذات قيمة رئيسية. في بايثون ، يتم تنفيذ القواميس كجداول تجزئة ، والتي توفر وصولا سريعا إلى العناصر.
ومع ذلك ، في مهام معالجة البيانات المعقدة ، قد يكون من الضروري استخدام القواميس في القاموس. تسمح لك بنية البيانات هذه بتنظيم المعلومات في شكل عدة مستويات: مفتاح القاموس الخارجي هو صفيف ترابطي يحتوي على قواميس أخرى كقيم. نتيجة لذلك ، من الممكن إنشاء هياكل بيانات ذات تداخل تعسفي ، مما يجعل القواميس في القاموس أداة قوية للعمل مع مجموعة متنوعة من البيانات.
في هذه المقالة ، سننظر في كيفية الوصول إلى عناصر القاموس ، وكذلك كيفية العمل مع القواميس المتداخلة في بايثون. سوف نستكشف طرقا مختلفة للوصول إلى البيانات ، والتكرار من خلال القاموس ، وإضافة العناصر وتعديلها وحذفها. سوف نتعلم أيضا كيفية استخدام القواميس في القاموس لحل المهام المختلفة.
- تحديد وتطبيق القواميس في بايثون
- الوصول إلى عناصر القاموس
- التعامل مع المفتاح
- باستخدام جيت () و سيتديفولت()
- طرق الحصول على()
- طريقة طريقة سيتديفولت ()
- التحقق من وجود عنصر في القاموس
- التلاعب بالقواميس
- الوصول إلى عناصر القاموس
- تغيير وإضافة العناصر
- حذف العناصر
- التكرار من خلال العناصر
- طرق القاموس
- إضافة وتغيير عناصر القاموس
- حذف عناصر القاموس
- نسخ ودمج القواميس
- نسخ القاموس
- الجمع بين القواميس
- سؤال وجواب
- كيف يمكنني الوصول إلى عنصر القاموس في بيثون?
- كيف يمكنني الوصول إلى عنصر القاموس إذا كان في حد ذاته القاموس?
- هل من الممكن التحقق مما إذا كان المفتاح موجودا في القاموس قبل الوصول إليه?
تحديد وتطبيق القواميس في بايثون
في لغة برمجة بايثون ، القاموس عبارة عن مجموعة غير مرتبة تتكون من أزواج ذات قيمة رئيسية ، حيث يتوافق كل مفتاح مع قيمة محددة.
تعتبر القواميس ملائمة جدا لتخزين البيانات ومعالجتها عندما تستخدم المفاتيح غالبا للوصول إلى القيم. إنها تسمح لك بالعثور بسرعة على القيمة حسب المفتاح ، مما يجعلها مفيدة بشكل خاص عند معالجة كميات كبيرة من البيانات.
يتم إنشاء قاموس في بايثون باستخدام الأقواس المتعرجة {}. يشار إلى أزواج القيمة الرئيسية مفصولة بنقطتين داخل الأقواس. يتم فصل أزواج قيمة المفتاح بفاصلة. يجب أن تكون مفاتيح القاموس فريدة من نوعها.
هنا مثال على إنشاء قاموس:
رسالتي = {
"الاسم":"إيفانوف",
"العمر": 25,
"المدينة":"موسكو"
}
في هذا المثال ، أنشأنا قاموسا بثلاثة أزواج من القيم الرئيسية. تشير مفاتيح" الاسم "و" العمر "و" المدينة "إلى القيم المقابلة" إيفانوف "و 25 و"موسكو".
تستخدم الأقواس المربعة [] للوصول إلى عناصر القاموس. يشار إلى مفتاح العنصر الذي نريد الوصول إليه داخل الأقواس. على سبيل المثال ، للحصول على قيمة عنصر بالمفتاح "الاسم" من قاموس مرسمي ، يمكننا كتابة الكود التالي:
الاسم = رسالتي ["الاسم"]
طباعة (الاسم)
سيعرض هذا الرمز القيمة "إيفانوف". وبالمثل ، يمكننا الوصول إلى عناصر القاموس الأخرى.
يمكن أن تحتوي القواميس على عناصر من أنواع بيانات مختلفة ، مثل السلاسل والأرقام والقوائم وحتى القواميس الأخرى. تسمح لك القواميس المتداخلة بإنشاء هياكل بيانات أكثر تعقيدا. على سبيل المثال ، يمكنك إنشاء قاموس يحتوي فيه كل طالب على قاموس مع درجاته:
الطلاب = {
"إيفانوف": {
"الرياضيات": 5,
"الفيزياء": 4,
"الكيمياء": 5
},
"بتروف": {
"الرياضيات": 3,
"الفيزياء": 4,
"الكيمياء": 4
},
"سيدوروف": {
"الرياضيات": 5,
"الفيزياء": 5,
"الكيمياء": 5
}
}
وهكذا ، أنشأنا قاموسا يكون لكل طالب فيه قاموس مع درجاته في المواد. يمكنك الوصول إلى التقديرات عن طريق تحديد مفاتيح عناصر القواميس المتداخلة. على سبيل المثال ، للحصول على درجة رياضيات من طالب يدعى إيفانوف ، يمكننا كتابة الكود التالي:
الرياضيات = الطلاب ["إيفانوف"] ["الرياضيات"]
طباعة (رياضيات)
سيعرض هذا الرمز درجة "5". وبالمثل ، يمكننا الوصول إلى درجات الطلاب الآخرين والمواد الأخرى.
يمكن استخدام القواميس لحل المهام المختلفة ، مثل حساب تكرار حدوث العناصر في القائمة ، وتخزين إعدادات البرنامج ، وإنشاء المصفوفات الترابطية ، وغيرها الكثير.
الوصول إلى عناصر القاموس
في لغة برمجة بايثون ، القواميس هي هياكل البيانات التي تسمح لك لتخزين أزواج قيمة المفتاح. يتم الوصول إلى عناصر القاموس بواسطة مفتاح.
للحصول على قيمة مفتاح من قاموس ، يتم استخدام بناء الجملة التالي:
قيمة = قاموس [مفتاح]
على سبيل المثال ، إذا كان لدينا قاموس مع أزواج قيمة المفتاح:
العواصم = {"روسيا": "موسكو" ، "الولايات المتحدة الأمريكية": "واشنطن" ، "بريطانيا العظمى":"لندن"}
يمكننا الحصول على عاصمة روسيا من خلال الإشارة إلى عنصر القاموس مع مفتاح"روسيا":
عاصمة روسيا = رأس المال ["روسيا"]
من روسيا يحتوي على قيمة "موسكو".
:
إذا كانت "روسيا" في العواصم:
عاصمة روسيا = رأس المال ["روسيا"]
آخر:
عاصمة روسيا = "غير معروف"
سيتم تعيين عاصمة روسيا قيمة "غير معروف".
بالإضافة إلى سهولة الوصول إلى عناصر القاموس ، يمكنك أيضا تغيير قيم العناصر:
العواصم ["الولايات المتحدة الأمريكية"] = "نيويورك"
الآن قيمة العنصر مع مفتاح "الولايات المتحدة الأمريكية" ستكون مساوية ل "نيويورك".
يمكنك أيضا إضافة عناصر جديدة إلى القاموس:
العواصم ["فرنسا"] = "باريس"
الآن سيظهر زوج جديد من قيمة المفتاح مع المفتاح "فرنسا" والقيمة "باريس" في القاموس.
:
ديل كابيتال ["بريطانيا العظمى"]
سيؤدي هذا الرمز إلى إزالة العنصر باستخدام المفتاح" بريطانيا العظمى " من القاموس.
.
عواصم فرنسا = العواصم . احصل على ("فرنسا")
إرجاع قيمة عنصر القاموس المقابلة للمفتاح المحدد ، أو القيمة الافتراضية (بلا) إذا لم يتم العثور على المفتاح.
يمكنك أيضا تحديد قيمة افتراضية سيتم إرجاعها بدلا من لا شيء:
عاصمة فرنسا = رأس المال . احصل على ("فرنسا" ، "لا توجد معلومات")
يتم تعيين القيمة "لا توجد معلومات".
التعامل مع المفتاح
في لغة برمجة بايثون ، يتم استخدام مفتاح للوصول إلى عناصر القاموس. يتيح لك المفتاح تحديد عنصر بشكل فريد والوصول إليه.
وتحديد المفتاح داخلها. على سبيل المثال:
بلدي مرسوم = {'اسم': 'جون' ، 'العمر': 25 ، 'مدينة': 'نيويورك'}
طباعة (رسالتي ['اسم']) # المخرجات: جون
وإخراج قيمة هذا العنصر. بنفس الطريقة ، يمكنك الرجوع إلى أي عنصر آخر في القاموس.
مما يسمح لك بتعيين القيمة الافتراضية إذا لم يتم العثور على المفتاح المحدد:
بلدي مرسوم = {'اسم': 'جون' ، 'العمر': 25 ، 'مدينة': 'نيويورك'}
طباعة (رسالتي.الحصول على ('اسم')) # المخرجات: جون
طباعة (رسالتي.الحصول على ('الجنس' ، 'غير معروف')) # المخرجات: غير معروف
، لأن هذا المفتاح مفقود من القاموس.
لا يمكن أن تكون القيم الموجودة في القاموس سلاسل فحسب ، بل يمكن أن تكون أيضا أنواعا أخرى من البيانات ، مثل الأرقام أو القوائم أو حتى القواميس الأخرى. لذلك ، يمكن أن يكون الوصول إلى عناصر القاموس حسب المفتاح مفيدا عند العمل مع هياكل البيانات المختلفة.
باستخدام أساليب جيت() و سيتديفولت()
في بايثون ، القواميس هي بنية بيانات مريحة لتخزين أزواج القيمة الرئيسية. غالبا ما يكون من الضروري الوصول إلى عناصر القاموس عن طريق المفتاح أو إضافة عنصر جديد إذا كان المفتاح غير موجود. لهذه الأغراض ، يمكنك استخدام جيت () و سيتديفولت()
طرق. طريقة الحصول على ()
طريقة الحصول على () يسمح لك للحصول على قيمة عنصر عن طريق المفتاح. ميزته هي أنه إذا لم يكن هناك مفتاح في القاموس ، لا يحدث استثناء ، ولكن يتم إرجاع القيمة الافتراضية.
بناء جملة طريقة الحصول على () كما يلي:
القيمة = القاموس.احصل على (مفتاح ، قيمة بالصمت)أين:
- القاموس هو القاموس الذي يتم البحث فيه عن العنصر;
- مفتاح-مفتاح العنصر الذي تريد الحصول على قيمته;
- القيمة الطفرية هي القيمة التي سيتم إرجاعها إذا كان المفتاح مفقودا من القاموس (لا شيء افتراضيا).
مثال على استخدام طريقة الحصول على ():
شخص = {
'اسم':'جون',
'العمر': 30,
'مدينة': 'نيويورك'
}
العمر = شخص.الحصول على ('العمر' ، 0)
طباعة (العمر) # الإخراج: 30
الراتب = شخص.الحصول على ('الراتب' ، 0)
في هذا المثال ، سيحتوي متغير العمر على القيمة 30 ، نظرا لوجود مفتاح' العمر ' في قاموس الشخص. سيحتوي متغير الراتب على القيمة 0 ، نظرا لأن مفتاح' الراتب ' ليس في القاموس ، وستقوم طريقة الحصول على () بإرجاع القيمة الافتراضية.
طريقة سيتدفولت ()
طريقة سيتديفولت () يسمح لك لإضافة عنصر جديد إلى القاموس إذا كان المفتاح غير موجود ، أو لإرجاع قيمة مفتاح موجود. إذا كان المفتاح موجودا بالفعل ، فإن طريقة سيتدفولت() ترجع القيمة الحالية.
بناء جملة طريقة سيتديفولت () كما يلي:
القيمة = القاموس.سيتدفولت (مفتاح ، قيمة بواسطة الصمت)أين:
- القاموس-القاموس الذي يتم البحث فيه عن العنصر;
- المفتاح هو مفتاح العنصر;
- القيمة الصامتة هي القيمة التي ستتم إضافتها إلى القاموس إذا كان المفتاح مفقودا (افتراضيا لا شيء).
مثال على استخدام طريقة سيتديفولت ():
شخص = {
'اسم':'جون',
'العمر': 30,
'مدينة': 'نيويورك'
}
الاسم = شخص.سيتديفولت ('اسم' ، 'غير معروف')
طباعة (الاسم) # الإخراج: جون
الجنس = شخص.سيتيدفولت ('الجنس' ، 'غير معروف')
طباعة (الجنس) # الإخراج: غير معروف
طباعة (شخص) # الإخراج: {'الاسم': 'جون' ، 'العمر': 30 ، 'المدينة': 'نيويورك' ، 'الجنس':'غير معروف'}
في هذا المثال ، سيحتوي متغير الاسم على القيمة ' جون '، لأن المفتاح ' اسم ' موجود بالفعل في قاموس الشخص. سيحتوي متغير الجنس على القيمة 'غير معروف' ، نظرا لأن مفتاح 'الجنس' ليس في القاموس ، وستقوم طريقة سيتدفولت () بإضافته بالقيمة الافتراضية. سيبدو قاموس الشخص بعد تنفيذ الكود كما يلي: {'الاسم': 'جون' ، 'العمر': 30 ، 'المدينة': 'نيويورك' ، 'الجنس': 'غير معروف'}.
التحقق من وجود عنصر في القاموس
للتحقق من وجود عنصر في القاموس في بيثون ، يمكنك استخدام المشغل في. يسمح لك بالتحقق مما إذا كان المفتاح المحدد موجودا في القاموس.
بناء الجملة في المشغل هو كما يلي:
إذا كان المفتاح في القاموس:
# التعليمات البرمجية التي يتم تنفيذها إذا كان المفتاح في القاموس
آخر:
# التعليمات البرمجية التي يتم تنفيذها إذا كان المفتاح ليس في القاموس
يوضح المثال التالي كيفية استخدام عامل التشغيل للتحقق من وجود عنصر في القاموس:
الطالب = {
'اسم':'إيفان',
'العمر': 20,
'المجموعة': 'أ-123'
}
إذا كان 'العمر' في الطالب:
طباعة ('العمر:' ، الطالب ['العمر'])
آخر:
طباعة ('تعذر العثور على العمر في القاموس')
. إذا تم العثور على المفتاح ، يتم عرض القيمة ، وإذا كان المفتاح مفقودا ، يتم عرض رسالة فشل.
يمكنك أيضا استخدام طريقة الحصول على () للتحقق من وجود عنصر في القاموس. طريقة جيت() ترجع قيمة المفتاح إذا كان في القاموس ، وإلا فإنه يعود القيمة المحددة (افتراضيا هو لا شيء).
الطالب = {
'اسم':'إيفان',
'العمر': 20,
'المجموعة': 'أ-123'
}
العمر = طالب.الحصول على ('العمر')
إذا كان العمر ليس لا شيء:
طباعة ('العمر:' ، العمر)
آخر:
طباعة ('تعذر العثور على العمر في القاموس')
. إذا كانت القيمة ليست بلا ، فإن القيمة هي الإخراج ، وإلا يتم عرض رسالة فشل.
وهكذا ، في بيثون هناك عدة طرق للتحقق من وجود عنصر في القاموس: مع المشغل في أو طريقة جيت (). تسمح لك كلتا الطريقتين بالتحقق بشكل فعال من وجود عنصر وتنفيذ الإجراءات المناسبة اعتمادا على نتيجة الفحص.
التلاعب بالقواميس
القواميس هي واحدة من هياكل البيانات الأكثر فائدة في بيثون ، والذي يسمح لك لتخزين وتنظيم البيانات في شكل أزواج قيمة المفتاح. في هذا القسم ، سنلقي نظرة على بعض التلاعبات الأساسية في القاموس.
الوصول إلى عناصر القاموس
للوصول إلى عناصر القاموس في بايثون ، يتم استخدام عامل الفهرسة [] ، حيث يتم تمرير مفتاح عنصر القاموس كمؤشر. على سبيل المثال:
رسالتي = {'الاسم': 'جون' ، 'العمر': 25}طباعة (رسالتي ['اسم']) # مخرجات'جون'طباعة (رسالتي ['العمر']) # المخرجات 25
تغيير وإضافة العناصر
لتغيير عنصر القاموس ، تحتاج إلى الوصول إليه عن طريق المفتاح وتعيين قيمة جديدة. إذا كان هناك عنصر به مثل هذا المفتاح موجود بالفعل ، فسيتم تغيير القيمة. إذا لم يكن هناك عنصر بمثل هذا المفتاح ، فسيتم إضافة العنصر إلى القاموس. على سبيل المثال:
رسالتي = {'الاسم': 'جون' ، 'العمر': 25}['الاسم'] = 'مايك' # تغيير القيمة بواسطة مفتاح' الاسم'['الجنس'] = ' ذكر '# إضافة عنصر جديد مع مفتاح 'الجنس'
حذف العناصر
وتحديد مفتاح العنصر لحذف. على سبيل المثال:
رسالتي = {'الاسم': 'جون' ، 'العمر': 25}# حذف عنصر باستخدام مفتاح' الاسم'
التكرار من خلال العناصر
. في كل تكرار ، سيتم إرجاع زوج قيمة المفتاح ، والذي يمكن فك ضغطه إلى متغيرات. على سبيل المثال:
رسالتي = {'الاسم': 'جون' ، 'العمر': 25}للمفتاح ، القيمة في رسالتي.البنود():طباعة (مفتاح ، قيمة)
طرق القاموس
يوفر بيثون العديد من الأساليب المضمنة للعمل مع القواميس. بعض الطرق الأكثر استخداما هي:
- - إرجاع قيمة عنصر بواسطة مفتاح إذا كان عنصر مع المفتاح المحدد موجود في القاموس ، وإلا فإنه يعود القيمة الافتراضية.
- - إرجاع جميع مفاتيح القاموس.
- - إرجاع جميع القيم القاموس.
- - إرجاع جميع أزواج القيمة الرئيسية للقاموس.
- - حذف العنصر مع المفتاح المحدد وإرجاع قيمته.
- - حذف جميع عناصر القاموس.
هذه ليست سوى بعض الطرق المتاحة للعمل مع القواميس في بايثون. تحقق من الوثائق للتعرف على الطرق المفيدة الأخرى.
إضافة وتغيير عناصر القاموس
في بايثون ، القواميس هي مجموعات غير مرتبة من البيانات بتنسيق قيمة المفتاح. يمكن تخزين أنواع مختلفة من البيانات في القاموس ، ويمكن إضافة عناصر القاموس وتعديلها بسهولة.
لإضافة عنصر إلى القاموس ، يجب تحديد المفتاح والقيمة مفصولة بنقطتين:
رسالتي = {"تفاحة": 1 ، "موز": 2 ، "كرز": 3}
رسالتي ["التاريخ"] = 4
طباعة (رسالتي) # {"تفاحة": 1 ، "موز": 2 ، "كرز": 3 ، "تاريخ": 4}
في المثال أعلاه ، أضفنا عنصرا يحتوي على المفتاح "التاريخ" والقيمة 4 إلى القاموس باستخدام عامل التشغيل []. نتيجة لذلك ، تم تغيير القاموس وإضافة عنصر جديد.
إذا كان هناك عنصر يحتوي على المفتاح المحدد موجود بالفعل في القاموس ، فسيتم استبدال قيمته بأخرى جديدة:
رسالتي = {"تفاحة": 1 ، "موز": 2 ، "الكرز": 3}
رسالتي ["الموز"] = 4
طباعة (رسالتي) # {"تفاحة": 1 ، "موز": 4 ، "كرز": 3}
في المثال أعلاه ، قمنا بتغيير قيمة العنصر مع مفتاح "الموز" إلى 4 ، وترك بقية عناصر القاموس دون تغيير.
يجب أن تكون المفاتيح في القاموس فريدة من نوعها ، لذلك عند إضافة عنصر بمفتاح موجود ، سيتم استبدال العنصر السابق بقيمة جديدة.
Если необходимо добавить несколько элементов в словарь, можно использовать метод update():
my_dict = {"apple": 1, "banana": 2, "cherry": 3}
my_dict.update({"date": 4, "elderberry": 5})
print(my_dict) # {"apple": 1, "banana": 2, "cherry": 3, "date": 4, "elderberry": 5}
في المثال أعلاه ، استخدمنا طريقة التحديث () لإضافة عنصرين جديدين إلى القاموس ، وتمريرهما كقاموس في وسيطة الطريقة.
لإزالة عنصر من القاموس ، يمكنك استخدام عامل ديل:
رسالتي = {"تفاحة": 1 ، "موز": 2 ، "كرز": 3}
ديل بلدي ["الموز"]
طباعة (رسالتي) # {"تفاحة": 1 ، "الكرز": 3}
في المثال أعلاه ، حذفنا العنصر مع مفتاح "الموز"من القاموس باستخدام عامل ديل.
باستخدام هذه العمليات البسيطة ، يمكنك بسهولة إضافة وتعديل وحذف عناصر القاموس في بايثون.
حذف عناصر القاموس
- لإزالة عنصر من القاموس في بيثون ، يتم استخدام الكلمة ديل.
نسخ ودمج القواميس
في لغة برمجة بايثون ، هناك عدة طرق لنسخ ودمج القواميس. دعونا ننظر إلى كل واحد منهم بمزيد من التفصيل.
نسخ القاموس
. تقوم هذه الطريقة بإنشاء وإرجاع قاموس جديد يحتوي على نفس عناصر القاموس الأصلي.
:
الأصل = {"الاسم": "جون" ، "العمر": 30}
نسخة = الأصل.نسخة()
. إذا قمت بتغيير القيم في أحد القواميس ، فلن يؤثر ذلك على القاموس الآخر.
الجمع بين القواميس
. يضيف هذا المشغل جميع العناصر من قاموس إلى آخر.
مثال على الجمع بين القواميس:
ديكت1 = {"الاسم": "جون" ، "العمر": 30}
ديكت2 = {"الموقع": "الولايات المتحدة الأمريكية"}
ديكت1.تحديث (ديكت 2)
.
بالإضافة إلى ذلك ، في بايثون 3.9 والإصدارات الأحدث ، يمكنك استخدام عامل التشغيل "/ = " لدمج القواميس:
ديكت1 = {"الاسم": "جون" ، "العمر": 30}
ديكت2 = {"الموقع": "الولايات المتحدة الأمريكية"}
ديكت1 / = ديكت2
تسمح لك كلتا الطريقتين بدمج القواميس وإنشاء قاموس جديد يحتوي على عناصر من كلا القواميس.
وهكذا ، نسخ والجمع بين القواميس في بيثون هو بسيط جدا ومريحة.
سؤال وجواب
كيف يمكنني الوصول إلى عنصر القاموس في بيثون?
للوصول إلى عنصر القاموس في بايثون ، يتم استخدام مفتاح ، والذي يشار إليه بين قوسين مربعين بعد اسم القاموس. على سبيل المثال ، إذا كان لدينا قاموس يسمى "مرسوم خاص بي" ونريد الحصول على قيمة عنصر بالمفتاح "مفتاح 1" ، فيمكننا استخدام الكود التالي: مرسوم خاص بي["مفتاح 1"]. سيؤدي هذا إلى إرجاع القيمة المرتبطة بالمفتاح "المفتاح 1" في القاموس.
كيفية الوصول إلى عنصر القاموس إذا كان في حد ذاته القاموس?
إذا كان عنصر القاموس أيضا قاموسا ، فيمكننا استخدام أقواس مربعة مزدوجة للوصول إلى العنصر في القاموس الداخلي. على سبيل المثال ، إذا كان لدينا قاموس "مرسوم خاص بي" ويحتوي على عنصر بالمفتاح "مفتاح 1" ، وهو بحد ذاته قاموس ، فيمكننا الحصول على عنصر من القاموس الداخلي عن طريق تحديد مفتاحه باستخدام أقواس مربعة مزدوجة: مرسوم خاص بي["مفتاح 1"]["مفتاح داخلي"].
هل من الممكن التحقق مما إذا كان المفتاح موجودا في القاموس قبل الوصول إليه?
نعم ، في بايثون يمكننا استخدام عامل التشغيل" في " للتحقق من وجود مفتاح في القاموس. يمكننا استخدامه مع اسم القاموس والمفتاح الذي نريد التحقق منه. على سبيل المثال ، إذا أردنا التحقق مما إذا كان المفتاح "المفتاح 1" موجودا في القاموس "مرسومي" ، فيمكننا كتابة الكود التالي: "المفتاح 1" في مرسومي. إذا كان المفتاح موجودا ، فإن عامل التشغيل" في " سيعود صحيحا ، وإلا فإنه سيعود خطأ.