Moatasm Elshahry نشر 16 أغسطس 2021 أرسل تقرير مشاركة نشر 16 أغسطس 2021 لدي مصفوفة على الشكل : months=['January','February','March','April','May','June','July','August','September','October','November','December'] واريد تحويلها لتظهر على الشكل : months = {1:'January', 2:'February',....} قمت باستخدام enumerate() لكنها لم تفلح معي رغم اني اعرف انها يمكنها ان تفعل هذا فما الحل؟ 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Ahmed Sharshar نشر 16 أغسطس 2021 أرسل تقرير مشاركة نشر 16 أغسطس 2021 يمكن ان تقوم فقط باستخدام الدالة enumerate() بشكل خاطئ، لو انك تريد استخدامها يمكنك تجربة هذا الكود: months =['January','February','March','April','May','June','July','August','September','October','November','December'] d_months = {} for i, month in enumerate(months): d_months[i+1] = month print(d_months) يجب ان يظهر الخرج بالشكل التالي: {1: 'January', 2: 'February', 3: 'March', 4: 'April', 5: 'May', 6: 'June', 7: 'July', 8: 'August', 9: 'September', 10: 'October', 11: 'November', 12: 'December'} لاحظ اننا استخدمنا i+1 وذلك لاننا نبدأ من المكان 0 ونريد ان نضم اخر شهر لدينا كذلك، لذا فقيمة i+1 =12 وهو عدد الشهور المراد ضمها. اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Hassan Hedr نشر 16 أغسطس 2021 أرسل تقرير مشاركة نشر 16 أغسطس 2021 تستخدم enumerate عندما تريد معرفة ال index لكل عنصر من العناصر فهي تحول كل عنصر في المصفوفة من x الى (index, x) في مثالك: months =['January','February','March','April','May','June','July','August','September','October','November','December'] print (list(enumerate(months))) // نطبع الناتج بعد تحويله لقائمة يكون الخرج [(0, 'January'), (1, 'February'), (2, 'March'), (3, 'April'), (4, 'May'), (5, 'June'), (6, 'July'), (7, 'August'), (8, 'September'), (9, 'October'), (10, 'November'), (11, 'December')] وهو غير بنية القاموس التي تريدها اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Hamza Malki نشر 17 أغسطس 2021 أرسل تقرير مشاركة نشر 17 أغسطس 2021 يمكنك استعمال هذا الكود لا يتطلب الدالة enumerate() months_list = ['January','February','March','April','May','June','July','August','September','October','November','December'] months = {} for n in range(1, len(months_list)): months[n] = months_list[n] print(months) اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Ali Haidar Ahmad نشر 20 أغسطس 2021 أرسل تقرير مشاركة نشر 20 أغسطس 2021 إضافة للإجابة التي قدمها أحمد يمكنك القيام بذلك كالتالي: months=['January','February','March','April','May','June','July','August','September','October','November','December'] def Convert(lst): res_dct = {lst[i]: i+1 for i in range(0, len(lst))} return res_dct print(Convert(months)) # {'January': 1, 'February': 2, 'March': 3, 'April': 4, 'May': 5, 'June': 6, 'July': 7, 'August': 8, 'September': 9, 'October': 10, 'November': 11, 'December': 12} .أو من خلال الدالة zip: months=['January','February','March','April','May','June','July','August','September','October','November','December'] def Convert(l1): d1=zip(l1,[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) return dict(d1) print(Convert(months)) # {'January': 1, 'February': 2, 'March': 3, 'April': 4, 'May': 5, 'June': 6, 'July': 7, 'August': 8, 'September': 9, 'October': 10, 'November': 11, 'December': 12} أو zip_longest: from itertools import zip_longest months=['January','February','March','April','May','June','July','August','September','October','November','December'] def Convert(l1): d1=zip_longest(l1,[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) return dict(d1) print(Convert(months)) """ {'January': 1, 'February': 2, 'March': 3, 'April': 4, 'May': 5, 'June': 6, 'July': 7, 'August': 8, 'September': 9, 'October': 10, 'November': 11, 'December': 12} """ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Hamza Malki نشر 21 أغسطس 2021 أرسل تقرير مشاركة نشر 21 أغسطس 2021 بسيط وعملي months=['January','February','March','April','May','June','July','August','September','October','November','December'] months= {q+1: months[q] for q in range(len(months))} print(months) # {1: 'January', 2: 'February', 3: 'March', 4: 'April', 5: 'May', 6: 'June', 7: 'July', 8: 'August', 9: 'September', 10: 'October', 11: 'November', 12: 'December'} اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Moatasm Elshahry
لدي مصفوفة على الشكل :
واريد تحويلها لتظهر على الشكل :
قمت باستخدام enumerate() لكنها لم تفلح معي رغم اني اعرف انها يمكنها ان تفعل هذا فما الحل؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.