Ali Ahmed55 نشر 22 أغسطس أرسل تقرير نشر 22 أغسطس السلام عليكم هو انا ازي اقدر احفظ بيانات اكثر من شخصه في قاموس واحد والا اعمل قاموس لكل شخصه الان القاموس عبار عن مفتاح وقيمه فا لو المفتاح مثل الاسم الاول كده يعني خالص هيتخزين في اسم واحد فقط والا اي؟ 1 اقتباس
0 محمد عاطف17 نشر 22 أغسطس أرسل تقرير نشر 22 أغسطس وعليكم السلام ورحمة الله وبركاته . نعم لا يمكن وضع أكثر من مفتاح بنفس القيمة في القاموس حيث سيتم أخذ فقط أخر قيمة تم كتابتها. وهذا بسبب أن القاموس (dict) هو عبارة عن نوع من أنواع الـ hash table حيث أن الـ hash table هو هيكل بيانات يستخدم دالة تجزئة (hash function) لتحويل المفاتيح إلى قيم عددية تُستخدم كعناوين في جدول البيانات و هذا يسمح بالبحث السريع والوصول الفوري تقريبًا إلى العناصر بناءً على المفاتيح. فمثلا لو لدينا مفتاحي يسمي first_name فستقوم الدالة hash function والتي يستخدمها القاموس في تحويل first_name إلى قيمة ثابتة يتم تخزينها في ال memory (الذاكرة) وبهذا إذا تم إستخدام first_name مجددا فإن تلك الدالة ستقوم بتحويله إلى قيمة ثابتة وبما أنها نفس القيمة فسيتم إعادة كتابة القيمة في ال memory وبهذا يصبح لدينا في ال memory أخر قيمة للمفتاح first_name . dic = { "first_name ":"ahmed", "first_name ":"mohamed" } print(dic) #{'first_name ': 'mohamed'} لاحظ في المثال السابق ستجد أن قيمة المفتاح first_name هي أخر قيمة تم كتابتها. ولذلك يفضل إنشاء متغير جديد لحمل بيانات الشخص الجديد أو إنشاء قائمة تحوي جميع الأشخاص . ولكن توجد عدة طرق أخري لحفظهم في متغير واحد كالتالي مثلا: people = { 0: { "first_name": "Ahmad", "last_name": "Ali", }, 1: { "first_name": "Ali", "last_name": "Mohamed", "age": 25 }, 2: { "first_name": "Mahmoud", "last_name": "Ahmad", } } print(people) هنا لاحظ كيف وضعنا مفتاح عددي فالشخص الأول مفتاحه هو 0 ويوجد بداخله جميع بياناته. 1 اقتباس
0 Ali Ahmed55 نشر 22 أغسطس الكاتب أرسل تقرير نشر 22 أغسطس بتاريخ 4 دقائق مضت قال محمد عاطف17: وعليكم السلام ورحمة الله وبركاته . نعم لا يمكن وضع أكثر من مفتاح بنفس القيمة في القاموس حيث سيتم أخذ فقط أخر قيمة تم كتابتها. وهذا بسبب أن القاموس (dict) هو عبارة عن نوع من أنواع الـ hash table حيث أن الـ hash table هو هيكل بيانات يستخدم دالة تجزئة (hash function) لتحويل المفاتيح إلى قيم عددية تُستخدم كعناوين في جدول البيانات و هذا يسمح بالبحث السريع والوصول الفوري تقريبًا إلى العناصر بناءً على المفاتيح. فمثلا لو لدينا مفتاحي يسمي first_name فستقوم الدالة hash function والتي يستخدمها القاموس في تحويل first_name إلى قيمة ثابتة يتم تخزينها في ال memory (الذاكرة) وبهذا إذا تم إستخدام first_name مجددا فإن تلك الدالة ستقوم بتحويله إلى قيمة ثابتة وبما أنها نفس القيمة فسيتم إعادة كتابة القيمة في ال memory وبهذا يصبح لدينا في ال memory أخر قيمة للمفتاح first_name . dic = { "first_name ":"ahmed", "first_name ":"mohamed" } print(dic) #{'first_name ': 'mohamed'} لاحظ في المثال السابق ستجد أن قيمة المفتاح first_name هي أخر قيمة تم كتابتها. ولذلك يفضل إنشاء متغير جديد لحمل بيانات الشخص الجديد أو إنشاء قائمة تحوي جميع الأشخاص . ولكن توجد عدة طرق أخري لحفظهم في متغير واحد كالتالي مثلا: people = { 0: { "first_name": "Ahmad", "last_name": "Ali", }, 1: { "first_name": "Ali", "last_name": "Mohamed", "age": 25 }, 2: { "first_name": "Mahmoud", "last_name": "Ahmad", } } print(people) هنا لاحظ كيف وضعنا مفتاح عددي فالشخص الأول مفتاحه هو 0 ويوجد بداخله جميع بياناته. اه يعني انا اقدر اعمل قاموس وحوه قاموس برد تمام الف شكرااا لحضراتك جدا حزاك الله كل خير 1 اقتباس
السؤال
Ali Ahmed55
السلام عليكم
هو انا ازي اقدر احفظ بيانات اكثر من شخصه في قاموس واحد والا اعمل قاموس لكل شخصه الان القاموس عبار عن مفتاح وقيمه فا لو المفتاح مثل الاسم الاول كده يعني خالص هيتخزين في اسم واحد فقط والا اي؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.