اذهب إلى المحتوى
  • 0

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

TheProgrammer

السؤال

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

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

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...