TheProgrammer نشر 30 نوفمبر 2015 أرسل تقرير نشر 30 نوفمبر 2015 هل هنالك طريقة لإعادة تسمية مفتاح قاموس من دون إعادة تعيين قيمته إلى اسم جديد وحذف المفتاح القديم؟ أرجو أن يكون الحل بدون الاضطرار إلى التكرار في القاموس. اقتباس
0 هشام رزق الله نشر 30 نوفمبر 2015 أرسل تقرير نشر 30 نوفمبر 2015 نعم هنالك عدة طرق لإعادة تسمية مفتاح قاموس في لغة بايثون، وهذه الحلول تعتمد على نوع القاموس فإذا كان القاموس عاديا فيمكنك استخدام هذه الطريقة:mydict[new_key] = mydict.pop(old_key) أما بالنسبة للقاموس المرتب فيجب عليك في هذه الحالة إعادة بناء القاموس بالكامل كما في المثال التالي:>>> OrderedDict(zip('123', 'abc')) OrderedDict([('1', 'a'), ('2', 'b'), ('3', 'c')]) >>> oldkey, newkey = '2', 'potato' >>> OrderedDict((newkey if k == oldkey else k, v) for k, v in _.viewitems()) OrderedDict([('1', 'a'), ('potato', 'b'), ('3', 'c')]) إن تعديل المفتاح هو أمر غير شائع في لغة بايثون لأن المفاتيح في العادة هي كائنات غير قابلة للتغيير مثل الأرقام أو السلاسل النصية أو غيرها، لذلك بدلا من تعديل المفتاح، إن الطريقة الوحيدة في بايثون التي تُمكنك من تعديل المفتاح هي عن طريق إعادة تعيين قيمة للمفتاح ومن ثم حذف المفتاح القديم. اقتباس
السؤال
TheProgrammer
هل هنالك طريقة لإعادة تسمية مفتاح قاموس من دون إعادة تعيين قيمته إلى اسم جديد وحذف المفتاح القديم؟ أرجو أن يكون الحل بدون الاضطرار إلى التكرار في القاموس.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.