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

السؤال

نشر

أملك tuple التالي:

t = ((1, 'a'),(2, 'b'))

وعند تنفيذ السطر التالي لتحويله إلى قاموس:

dict(t)

أحصل على هذا القاموس:

{1: 'a', 2: 'b'}

فهل هنالك طريقة للحصول على قاموس بشكل معكوس؟ كالتالي:

{'a': 1, 'b': 2}

Recommended Posts

  • 0
نشر

جميع الطرق لفعل ذلك تشترك في أنه يجب عكس محتويات tuple عن طريق إحدى حلقات التكرار ومن ثم استخدام dict للتحويل إلى قاموس، فمثلا استخدمنا في مثالنا هذا حلقة تكرار for للدوران حول جميع عناصر tuple وعكس محتويات كل عنصر:

>>> t = ((1, 'a'),(2, 'b'))
>>> dict((y, x) for x, y in t)
{'a': 1, 'b': 2}

أما في مثالنا التالي فقد قمنا باستخدام حلقة التكرار map ودالة reversed لعكس المحتويات قبل أن نحولها إلى dict:

>>> t = ((1, 'a'),(2, 'b'))
>>> dict(map(reversed, t))
{'a': 1, 'b': 2}

هنالك طرق أخرى، لكن هذه الأقصر والأبسط حيث أنها تتكون من سطر واحد فقط.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...