• 0

كيف أغيّر تسمية مفتاح في قاموس في بايثون؟

هل هنالك طريقة لإعادة تسمية مفتاح قاموس من دون إعادة تعيين قيمته إلى اسم جديد وحذف المفتاح القديم؟ أرجو أن يكون الحل بدون الاضطرار إلى التكرار في القاموس.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

نعم هنالك عدة طرق لإعادة تسمية مفتاح قاموس في لغة بايثون، وهذه الحلول تعتمد على نوع القاموس فإذا كان القاموس عاديا فيمكنك استخدام هذه الطريقة:

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')])

إن تعديل المفتاح هو أمر غير شائع في لغة بايثون لأن المفاتيح في العادة هي كائنات غير قابلة للتغيير مثل الأرقام أو السلاسل النصية أو غيرها، لذلك بدلا من تعديل المفتاح، إن الطريقة الوحيدة في بايثون التي تُمكنك من تعديل المفتاح هي عن طريق إعادة تعيين قيمة للمفتاح ومن ثم حذف المفتاح القديم.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن