لقد تعلمنا عن قوائم وصفوف بايثون سابقًا، إذا درست المحتوى السابق بعناية وقمت ببعض التدريبات من خلال التمارين ذات الصلة، فسيأتي التعلم التالي بشكل طبيعي. يجب أن نفهم شيئًا واحدًا في لغة بايثون، وهي أن لغة بايثون هي لغة مفسرة، لذلك ستوفر لنا العديد من الأدوات سهلة الاستخدام. في الأقسام القليلة التالية، سنتعلم نوع بيانات جديدًا - القاموس .
تختلف القواميس عن القوائم والصفوف. ما يتم تخزينه في القاموس هو مجموعة من البيانات. وهذا يعني أن كل بيانات في القاموس تحتوي على جزأين. يمكنك فهمها بهذه الطريقة. ويتم تخزين اسم كل طالب في القاموس. كل اسم يتوافق مع رقم الطالب. يمكننا فهم رقم الطالب على أنه "مفتاح" والاسم على أنه "قيمة".
فيما يلي بعض ميزات القواميس:
1) القواميس ليس لها ترتيب وهي عبارة عن مجموعة غير مرتبة من الأشياء العشوائية.
2) مفتاح القاموس فريد ولا يمكن أن يظهر عدة مرات، وعندما يظهر عدة مرات، يتم أخذ القيمة الأخيرة.
3) المفاتيح غير قابلة للتغيير.
4) يمكن إضافة أو حذف العناصر الموجودة في القاموس.
5) لأنه لا يوجد ترتيب، لا يوجد فهرس.
من خلال مثال اسم الطالب، ذكر أن كل عنصر من عناصر القاموس يحتوي على جزأين هما " المفتاح " و" القيمة ". ويتم الفصل بين العنصرين بواسطة " : ". بواسطة ' ، ' منفصل.
وصيغتها النحوية هي:
my_dict={'مفتاح':'قيمة','key1'='قيمة1'....}
من بينها، my_dict هو القاموس الذي نريد إنشاءه، والمفتاح هو المفتاح، والقيمة هي القيمة المقابلة للمفتاح، ويمكن أن تكون أي نوع أرقام.
طريقة إنشاء قاموس فارغ هي:
>>>my_dict={}#إنشاء مباشرة >>>my_dict{}>>>type(my_dict)#انظر إلى نوعه <class'dict'>
لنقم بإنشاء قاموس. هناك 5 أرقام للطلاب في القاموس، وهي 1001 و1002 و1003 و1004 و1005. الأسماء المقابلة لكل رقم طالب هي "Li Hua" و"Zhang San" و"Xiaoxue" و" شياو تشانغ "،" شياو مينغ ".
>>>my_dict={1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming'}>>>my_dict# أدخل الاسم بشكل تفاعلي الوضع هو مخرج وصول مباشر {1001:'Li Hua',1002:'Zhang San',1003:'Xiao Xue',1004:'Xiao Zhang',1005:'Xiao Ming'}
شكل القاموس هو تقريبًا مثل هذا. كل عنصر يتوافق مع جزأين، الجزء الأمامي هو "المفتاح"، والجزء الخلفي هو "القيمة".
تجدر الإشارة إلى أنه لا يمكن تعديل المفتاح، ولكن يمكن تغيير القيمة، لذلك يجب أن يكون المفتاح نوعًا غير قابل للتغيير من البيانات.
يتضمن الوصول إلى عنصر ما في القاموس عمومًا الوصول إلى مفتاحه للحصول على القيمة المقابلة له.
بالاستمرار في القاموس الذي تم إنشاؤه أعلاه، يمكننا الوصول إلى قيمه:
>>>my_dict={1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming'}>>>my_dict[1001]#The Access المفتاح هو قيمة 1001 هي 'Li Hua' >>> my_dict [1005] # مفتاح الوصول هو قيمة 1005 ' Xiao Ming ' >>> my_dict [1006] # مفتاح الوصول هو قيمة 1006. في هذا الوقت، لا يوجد 1006 في القاموس، لذلك يتم الإبلاغ عن خطأ. تتبع (أحدث المكالمات): ملف<stdin>،line1،في<module>KeyError:1006
علمنا أعلاه أنه سيحدث خطأ عندما نصل إلى مفتاح غير موجود. يمكننا استخدام الحكم لتحديد ما إذا كان المفتاح المقابل موجودًا في القاموس.
لتحديد ما إذا كان سيتم الحفظ أم لا، نستخدم in و not in .
استخدم في:
>>>my_dict={1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming'}>>>if1001inmy_dict:#إذا كان 1001 موجودًا في my_dict ينفذ هذا المفتاح العبارة التالية print(my_dict[1001])>>>>Li Hua
لا تستخدم في:
>>>my_dict={1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming'}>>>if1006notinmy_dict:#إذا كان my_dict موجودًا المفتاح 1006، قم بتنفيذ العبارة التالية print('المفتاح 1006 غير موجود')>>>المفتاح 1006 غير موجود.
إن مجرد استخدام in وnot in يمكن أن يضمن تقليل حدوث الأخطاء عند الوصول. تجدر الإشارة إلى أنه عند التشغيل in وليس in، يجب أن تكون مقارنة السلسلة حساسة لحالة الأحرف.
نظرًا لأن القاموس قابل للتغيير، فيمكننا إجراء عمليات مثل الإضافة والحذف والتعديلات. الأشكال النحوية المقابلة هي:
my_dict['newkey']='newvalue'>>>my_dict={1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming'} > >>my_dict[1006]='Xiao Li'#إضافة مفتاح 1006، القيمة المقابلة 'Xiao Li'>>>my_dict{1001:'Li Hua',1002:'Zhang San',1003:'Xiao Xue',1004 :' شياو تشانغ',1005:'شياو مينغ',1006:'شياو لي'}
تتم إضافة العناصر مباشرة من خلال أزواج القيمة الرئيسية.
لحذف العناصر، مازلنا نحذفها من خلال عبارة del. ما يتم حذفه هو زوج كامل من العناصر، بما في ذلك المفتاح والقيمة.
تنسيق بناء الجملة:
delmy_list['مفتاح']
>>>my_dict{1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming',1006:'Xiao Li'}>>>delmy_dict [ 1001]#حذف مجموعة من العناصر بالمفتاح 1001>>>delmy_dict[1002]#حذف مجموعة من العناصر بالمفتاح 1002>>>my_dict{1003:'Xiaoxue',1004:'Xiao Zhang',1005: "شياو مينغ"، 1006: "شياو لي"}
تعديل عنصر ما يعادل الكتابة مباشرة فوق العنصر الموجود، وتنسيقه مشابه لتنسيق إضافة عنصر.
التنسيق هو:
my_dict['key']='newvalue'>>>my_dict{1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming',1006:'Xiao Li'}>>>my_dict[1003]= ' Xiaotian'#قم بتغيير قيمة المفتاح 1003 إلى 'Xiaotian'>>>my_dict{1003:'Xiaotian',1004:'Xiao Zhang',1005:'Xiao Ming',1006:'Xiao Li'}
في هذا القسم، سنتعرف أولاً على العمليات الأساسية للقواميس، وفي القسم التالي سنتعلم بعض الأساليب المتعلقة بالقواميس.