TheBrain نشر 27 ديسمبر 2015 أرسل تقرير نشر 27 ديسمبر 2015 لنفترض أن لدي القائمة التالية:a = ['hello','world','1','2'] أريد تحويها إلى قاموس b حيث سيكون العنصر الأول في القائمة هو المفتاح والعنصر الثاني هو القيمة وهكذا لبقية العناصر كما في المثال التالي:b['hello'] = 'world' b['1'] = '2' ما هي أسهل طريقة لفعل ذلك في لغة بايثون؟ اقتباس
0 Blackhacker نشر 27 ديسمبر 2015 أرسل تقرير نشر 27 ديسمبر 2015 يمكنك تحويل القائمة إلى قاموس بسهولة وبعدة طرق في لغة بايثون، فيمكنك على سبيل المثال استخدام دوال zip و dict كما في المثال التالي: b = dict(zip(a[0::2], a[1::2])) أما في حالة كان حجم a كبير فربما تحتاج إلى القيام بشيء مثل هذا والذي لن ينشئ أية قوائم مؤقتة كما في المثال أعلاه:from itertools import izip i = iter(a) b = dict(izip(i, i)) أما في بايثون 3 فيمكنك استخدام "تفهيم القاموس"، لكن هنالك طريقة أفضل عن طريق استخدام دوال range و len كما في المثال التالي: b = {a[i]: a[i+1] for i in range(0, len(a), 2)} اقتباس
السؤال
TheBrain
لنفترض أن لدي القائمة التالية:
a = ['hello','world','1','2']
أريد تحويها إلى قاموس b حيث سيكون العنصر الأول في القائمة هو المفتاح والعنصر الثاني هو القيمة وهكذا لبقية العناصر كما في المثال التالي:
ما هي أسهل طريقة لفعل ذلك في لغة بايثون؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.