ali_agha نشر 15 أكتوبر 2015 أرسل تقرير نشر 15 أكتوبر 2015 هل هنالك طريقة لعكس محتويات قاموس في لغة البايثون؟ أي أن القيمة تصبح المفتاح والمفتاح يصبح قيمة كما في المثال التالي:map = { 'a': 1, 'b':2 }الناتج بعد عملية القلب/العكس:inv_map = { 1: 'a', 2: 'b' } اقتباس
0 هشام رزق الله نشر 15 أكتوبر 2015 أرسل تقرير نشر 15 أكتوبر 2015 نعم هنالك العديد من الطرق في بايثون لقلب محتويات قاموس معين، ومن أسهل هذه الطرق استخدام حلقة تكرار for داخل عناصر القاموس وإنشاء قاموس جديد كما في المثال التالي:inv_map = {v: k for k, v in map.items()}كما يمكنك أيضا قلب محتويات القاموس عن طريق الأمر التالي المشابه للأمر السابق:dict((v, k) for k, v in map.iteritems())طريق أخرى للحل لكن أطول قليلا من سابقاتها:inv_map = {} for k, v in map.iteritems(): inv_map[v] = inv_map.get(v, []) inv_map[v].append(k)ملاحظة: الأمثلة السابقة تعمل على الإصدار 2.7 من بايثون فما فوق. اقتباس
السؤال
ali_agha
هل هنالك طريقة لعكس محتويات قاموس في لغة البايثون؟ أي أن القيمة تصبح المفتاح والمفتاح يصبح قيمة كما في المثال التالي:
الناتج بعد عملية القلب/العكس:
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.