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

كيف أحول قائمة إلى قاموس في بايثون؟

TheBrain

السؤال

لنفترض أن لدي القائمة التالية:

a = ['hello','world','1','2']


أريد تحويها إلى قاموس b حيث سيكون العنصر الأول في القائمة هو المفتاح والعنصر الثاني هو القيمة وهكذا لبقية العناصر كما في المثال  التالي:

b['hello'] = 'world'
b['1'] = '2'


ما هي أسهل طريقة لفعل ذلك في لغة بايثون؟

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

Recommended Posts

  • 0

يمكنك تحويل القائمة إلى قاموس بسهولة وبعدة طرق في لغة بايثون، فيمكنك على سبيل المثال استخدام دوال 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)}

 

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...