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

تحويل قائمة إلى قاموس في بايثون ليس بهذه الصعوبة.

دعنا نتحقق من الطرق المختلفة لتحويل القائمة إلى قاموس.

مقدمة

قبل الانتقال إلى البرنامج التعليمي ، دعنا نرى مثالاً على تحويل قائمة إلى قاموس. سيكون لدينا قائمة من المجموعات (كل مجموعة تتكون من عنصرين) أو مجرد قائمة بالعناصر. سنأخذ كلا الإدخالين ونحولهما إلى قواميس.

أمثلة:

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

الإدخال: list_one = [(‘a’, ‘A’), (‘b’, ‘B’), (‘c’, ‘C’)]

الإخراج: {‘a’: ‘A’، ‘b’: ‘B’، ‘c’: ‘C’}

في المثال التالي ، أخذنا قائمة بالعناصر وقمنا بتحويلها إلى قاموس يحتوي على عناصر بديلة كمفتاح وقيمة. سنقدم قيمة خالية للمفتاح إذا لم يتبق له عنصر كمفتاح (إذا كانت القائمة تحتوي على عدد فردي من العناصر).

الإدخال: list_one = [‘a’, ‘A’, ‘b’, ‘B’, ‘c’, ‘C’, ‘d’]

  ما هي التنبيهات الحرجة على iPhone و iPad ، وكيف يمكنني تمكينها؟

الإخراج: {‘a’: ‘A’، ‘b’: ‘B’، ‘c’: ‘C’، ‘d’: None}

لقد رأينا الهدف من البرنامج التعليمي. وسنناقش كلا المثالين بطرق مختلفة. لنبدأ بالمثال الأول.

قائمة Tuples – قاموس

دعونا نرى كيفية تحويل قائمة المجموعات إلى قاموس. يمكنك محاولة كتابة الكود بمساعدة الخطوات التالية.

  • ابدأ قائمة المجموعات ببيانات وهمية كما هو موضح في الأمثلة أعلاه (تأكد من أن كل مجموعة في القائمة تحتوي على عنصرين بالضبط).
  • مرر قائمة المجموعات إلى طريقة deb وتخزن النتيجة في متغير جديد.
  • حسنًا ، لقد قمنا بتحويل قائمة المجموعات إلى قاموس بسطر واحد من التعليمات البرمجية.
# list of tuples
list_of_tuples = [('a', 'A'), ('b', 'B'), ('c', 'C')]

# converting to dictionary
list_of_tuples_dict = dict(list_of_tuples)

# printing the result dict
print(list_of_tuples_dict)

يمكنك اختبار إخراج البرنامج أعلاه من خلال تنفيذه. سوف تحصل على النتيجة كما نرى في الأمثلة.

قائمة – قاموس

لقد رأينا كيفية تحويل قائمة tuples إلى قاموس وهو أمر مباشر في Python. في هذا القسم ، سنرى كيفية تحويل قائمة عادية إلى قاموس.

راجع المثال الثاني من القسم الأول من البرنامج التعليمي للحصول على مزيد من الوضوح.

  أغلق النوافذ عندما تغلق غطاء الكمبيوتر المحمول

اتبع الخطوات أدناه لكتابة رمز المثال الثاني.

لقد ملأنا القيمة الافتراضية على أنها لا شيء للعنصر الذي ليس له أي قيمة (قائمة تحتوي على عدد فردي من العناصر). لذلك ، نحتاج إلى استخدام طريقة تسمى zip_longest من الوحدة النمطية itertools.

  • قم باستيراد أدوات itertools للوحدة النمطية وقم بتهيئة قائمة بعدد فردي من العناصر الواردة في الأمثلة.
  • قم بتحويل القائمة إلى قائمة متكررة لتجنب تكرار أزواج المفاتيح والقيمة في طريقة zip_longest.
  • الآن ، مرر القابل للتكرار إلى الطريقة zip_longest و fillvalue كـ None. سيعيد كائن مضغوط.
    • علينا أن نجتاز التكرار مرتين لأنه يأخذ المفتاح والقيمة من المتكررين. في حالتنا ، كل من المفاتيح والقيم في نفس التكرار. لذا ، علينا تمريرها مرتين قبل ملء القيمة.
  • قم بتحويل الكائن إلى قاموس Python باستخدام طريقة deb.
  • اطبع النتيجة.
# importing the module
import itertools

# plain list with odd number of elements
plain_list = ['a', 'A', 'b', 'B', 'c', 'C', 'd']

# converting it to iterable to avoid repetition
plain_list_iter = iter(plain_list)

# converting the plain_list to dict
plain_list_dict_object = itertools.zip_longest(plain_list_iter, plain_list_iter, fillvalue=None)

# convert the zip_longest object to dict using `dict`
plain_list_dict = dict(plain_list_dict_object)

# print it
print(plain_list_dict)

يمكنك إعطاء fillvalue ما تريد. جرب أشياء مختلفة معها. وقم بتنفيذ الكود لمعرفة ما إذا كنا نحصل على الإخراج الدقيق كما هو مذكور في المثال أم لا.

  تعلم مهارة جديدة في عام 2022 مع هذه التطبيقات

استنتاج

آمل أن تكون قد استمتعت بتحويل القائمة إلى قاموس. دعنا نتقابل في البرنامج التعليمي التالي.

بعد ذلك ، تعرف على كيفية تسوية القائمة في Python.

ترميز سعيد 🙂

استمتعت بقراءة المقال؟ ماذا عن المشاركة مع العالم؟