بايثون هي واحدة من لغات البرمجة الأكثر شعبية بسبب بساطتها ووظائفها. يوفر العديد من الأدوات للعمل مع البيانات ، بما في ذلك القوائم والقواميس.
واحدة من المهام الأكثر شيوعا هو الجمع بين قائمتين في القاموس. في هذه الحالة ، يجب أن يتوافق كل عنصر من عناصر القائمة الأولى مع عنصر من القائمة الثانية بنفس الفهرس. باستخدام بايثون ، يمكن القيام بذلك بكل بساطة.
هناك عدة طرق لحل هذه المشكلة. واحد منهم يستخدم وظيفة الرمز البريدي () ، مما يخلق مكرر أن يعود الصفوف من عناصر كل قائمة مع نفس الفهرس. ثم يمكننا تحويل الصفوف الناتجة إلى قاموس باستخدام الدالة ديكت ().
مثال:
- دمج القوائم في قاموس بايثون
- طرق دمج القوائم في القاموس
- تحويل قائمتين إلى قاموس
- باستخدام الرمز البريدي () وظيفة لإنشاء قاموس من قائمتين
- مثال على استخدام الرمز البريدي() وظيفة لإنشاء قاموس:
- مثال على استخدام الرمز البريدي() وظيفة لإنشاء قاموس من ثلاث قوائم:
- أمثلة على دمج القوائم في قاموس بايثون
- العمل مع قوائم بأطوال مختلفة عند إنشاء قاموس
- خاتمة
- سؤال وجواب
- كيف يمكنني الجمع بين قائمتين في القاموس?
- هل من الممكن الجمع بين قائمتين من أطوال مختلفة في القاموس?
دمج القوائم في قاموس بايثون
في لغة برمجة بايثون ، يمكنك بسهولة دمج قائمتين في قاموس. يمكن أن تحتوي القوائم على أي عدد من العناصر ، ويمكن أن تكون قيمها من أنواع بيانات مختلفة. يمكن أن يكون دمج القوائم في قاموس مفيدا عندما تحتاج إلى ربط القيم من قوائم مختلفة ببعضها البعض.
ينشئ مكررا يجمع عناصر من قائمتين أو أكثر في مجموعات.
هنا مثال على الجمع بين قائمتين في القاموس:
القائمة 1 = ['التفاح' ، 'الموز' ، 'الكرز']
القائمة 2 = [1 ، 2 ، 3]
القاموس = ديكت (الرمز البريدي (القائمة 1 ، القائمة 2))
طباعة (قاموس)
ستكون نتيجة تنفيذ الكود:
{'التفاح': 1 ، 'الموز': 2 ، 'الكرز': 3}
تحويل هذه الصفوف إلى مفاتيح القاموس والقيم.
سوف تتوقف عند الوصول إلى نهاية أقصر قائمة. هذا يعني أنه سيتم تجاهل العناصر التي لا تحتوي على زوج عند إنشاء قاموس.
بالنسبة للحالات الأكثر تعقيدا لدمج القوائم في قاموس ، يمكنك استخدام الحلقات والمشغلات الشرطية. على سبيل المثال ، يمكنك إنشاء قاموس من خلال دمج عناصر من القائمة الأولى في مفاتيح القاموس ، وعناصر من القائمة الثانية في قيم القاموس:
القائمة 1 = ['التفاح' ، 'الموز' ، 'الكرز']
القائمة 2 = [1 ، 2 ، 3]
قاموس = {}
لأني في النطاق (لين (قائمة1)):
إذا كنت < لين (قائمة2):
قاموس [قائمة 1 [أنا]] = قائمة 2 [أنا]
طباعة (قاموس)
سيؤدي هذا الرمز إلى إخراج نفس النتيجة مثل المثال السابق:
{'التفاح': 1 ، 'الموز': 2 ، 'الكرز': 3}
والحلقات.
طرق دمج القوائم في القاموس
يوفر بايثون عدة طرق لدمج قائمتين في القاموس. فيما يلي الطرق الأكثر شيوعا:
- الرمز البريدي: وظيفة الرمز البريدي يسمح لك الجمع بين قائمتين في أزواج ، وخلق سلسلة من الصفوف. يصبح كل عنصر من عناصر القائمة الأولى مفتاحا ، ويصبح كل عنصر من عناصر القائمة الثانية قيمة في القاموس الناتج. إذا كانت القوائم ذات أطوال مختلفة ، فسيكون للقاموس الناتج طول يساوي طول القائمة الأقصر.
- ديكت: باستخدام دالة ديكت ، يمكنك إنشاء قاموس عن طريق تمريره سلسلة من الصفوف أو كائن قابل للتكرار يتكون من الصفوف. يجب أن تحتوي كل مجموعة على عنصرين ، حيث يكون العنصر الأول هو المفتاح والثاني هو القيمة.
- ديكت والرمز البريدي: يمكنك استخدام وظيفة الرمز البريدي في تركيبة مع وظيفة ديكت للحصول على القاموس الناتج مباشرة.
- فهم القاموس: هذا بناء جملة خاص في بايثون يسمح لك بإنشاء قاموس بناء على تسلسلات أخرى ، مثل القوائم. باستخدام فهم القاموس ، يمكنك الجمع بين قائمتين وتحويلهما إلى قاموس عن طريق تحديد المفاتيح والقيم في التعبير.
فيما يلي أمثلة على استخدام كل من هذه الطرق:
- Пример использования метода zip:
«`python
keys = [‘a’, ‘b’, ‘c’]
values = [1, 2, 3]
dictionary = dict(zip(keys, values))
print(dictionary)
«`
Результат:
{'a': 1, 'b': 2, 'c': 3}
- Пример использования метода dict:
«`python
pairs = [(‘a’, 1), (‘b’, 2), (‘c’, 3)]
dictionary = dict(pairs)
print(dictionary)
«`
Результат:
{'a': 1, 'b': 2, 'c': 3}
- Пример использования методов zip и dict:
«`python
keys = [‘a’, ‘b’, ‘c’]
values = [1, 2, 3]
قاموس = ديكت (الرمز البريدي (مفاتيح والقيم))
طباعة (قاموس)
«`
Результат:
{'أ': 1 ، 'ب': 2 ، 'ج': 3}
- - فهم القاموس:
"'بايثون
مفاتيح = ['أ' ، 'ب' ، 'ج']
القيم = [1 ، 2 ، 3]
قاموس = {ك: الخامس ل ك ، الخامس في الرمز البريدي (مفاتيح ، القيم)}
طباعة (قاموس)
«`
Результат:
{'أ': 1 ، 'ب': 2 ، 'ج': 3}
Python ، python بيثون. اختر الطريقة التي تناسب حالة الاستخدام الخاصة بك وقم بتطبيقها في التعليمات البرمجية الخاصة بك.
تحويل قائمتين إلى قاموس
بيثون لديه طريقة سهلة لدمج قائمتين في القاموس. يمكن أن يكون هذا مفيدا عندما يكون لديك قائمتان من البيانات وتريد مطابقتها وفقا لقواعد معينة. في هذه المقالة ، سننظر في كيفية إجراء مثل هذا التحويل.
قبل أن نبدأ ، دعنا نلقي نظرة على مثال لقائمتين نريد تحويلهما إلى قاموس:
أسماء = ['أليس' ، ' بوب ' ، 'تشارلي']
الأعمار = [25 ، 32 ، 45]
في هذه الحالة ، لدينا قائمة بالأسماء وقائمة بالأعمار ، ونريد مطابقة كل اسم مع العمر المقابل في القاموس.
لتحقيق ذلك ، يمكننا استخدام الرمز البريدي() وظيفة في بيثون. وظيفة الرمز البريدي () يخلق مكرر يجمع بين العناصر من قائمتين أو أكثر. ثم يمكننا تمرير نتيجة الرمز البريدي () إلى ديكت () لإنشاء قاموس.
وفيما يلي مثال على استخدام الرمز البريدي() و ديكت () وظائف لتحويل قائمتين في القاموس:
أسماء = ['أليس' ، ' بوب ' ، 'تشارلي']
الأعمار = [25 ، 32 ، 45]
قاموس = ديكت (الرمز البريدي (الأسماء والأعمار))
طباعة (قاموس)
ستكون نتيجة تنفيذ الكود هي القاموس التالي:
{'أليس': 25 ، 'بوب': 32 ، 'تشارلي': 45}
وهكذا ، قمنا بنجاح الجمع بين قائمتين في القاموس باستخدام الرمز البريدي() و ديكت() وظائف.
الآن دعونا نلقي نظرة على مثال آخر لتوضيح إمكانيات تحويل قائمتين إلى قاموس.
دعونا نتخيل أن لدينا قائمتين: قائمة الطلاب ودرجاتهم:
الطلاب = ['أليس' ، ' بوب ' ، 'تشارلي']
الدرجات = ['أ' ، 'ب' ، 'ج']
نريد إنشاء قاموس حيث المفاتيح هي أسماء الطلاب والقيم هي درجاتهم. باتباع نفس النهج الذي استخدمناه من قبل ، يمكننا إنشاء قاموس على النحو التالي:
الطلاب = ['أليس' ، ' بوب ' ، 'تشارلي']
الدرجات = ['أ' ، 'ب' ، 'ج']
قاموس = ديكت (الرمز البريدي (الطلاب والدرجات))
طباعة (قاموس)
ستكون النتيجة قاموسا يطابق درجة كل طالب:
'أليس': 'أ' ، 'بوب': 'ب' ، 'تشارلي': 'ج'}
وهكذا ، قمنا بتحويل قائمتين بنجاح إلى قاموس باستخدام الرمز البريدي() و ديكت () وظائف.
باستخدام الرمز البريدي() و ديكت () هو وسيلة سهلة وفعالة لتحويل قائمتين إلى قاموس في بيثون. يمكن أن تكون هذه التقنية مفيدة عند العمل مع البيانات حيث تحتاج إلى ربط العناصر من قوائم مختلفة.
باستخدام الرمز البريدي () وظيفة لإنشاء قاموس من قائمتين
في بايثون ، هناك عدة طرق لإنشاء قاموس من قائمتين. واحدة من أبسط الطرق وأكثرها شيوعا هي استخدام الرمز البريدي() وظيفة.
تسمح لك وظيفة الرمز البريدي () بدمج كائنين متكررين في أزواج من العناصر. في الحالة التي تكون فيها هذه الكائنات عبارة عن قوائم ، سيتوافق كل عنصر من القائمة الأولى مع عنصر من القائمة الثانية في نفس الفهرس.
لإنشاء قاموس من قائمتين باستخدام وظيفة الرمز البريدي () ، يجب عليك استخدام الدالة ديكت (). يتم تمرير قائمة الأزواج كوسيطة إلى دالة ديكت () ، حيث يكون العنصر الأول من الزوج هو المفتاح والعنصر الثاني هو القيمة.
مثال على استخدام الرمز البريدي() وظيفة لإنشاء قاموس:
مفاتيح = ['اسم' ، 'العمر' ، 'مدينة']
القيم = ['جون' ، 25 ، 'نيويورك']
قاموس = ديكت (الرمز البريدي (مفاتيح والقيم))
طباعة (قاموس)
نتيجة لتنفيذ التعليمات البرمجية أعلاه ، سيتم إخراج ما يلي:
{'اسم': 'جون' ، 'العمر': 25 ، 'المدينة': 'نيويورك'}
لإنشاء قاموس.
ينشئ قاموسا فقط حتى فهرس العنصر الأخير في أصغر قائمة.
، لا يمكنك الجمع بين قائمتين فحسب ، بل يمكنك أيضا الجمع بين عدد أكبر. ستتوافق كل قائمة لاحقة مع عنصر في الفهرس التالي.
Пример использования функции zip() для создания словаря из трех списков:
keys = ['name', 'age', 'city']
values = ['John', 25, 'New York']
additional_values = ['programmer', 'Male']
dictionary = dict(zip(keys, values, additional_values))
print(dictionary)
В результате выполнения приведенного кода будет выведено следующее:
{'name': 'John', 'age': 25, 'city': 'New York', 'additional_values': 'programmer'}
يحتوي على قيم إضافية ستتم إضافتها أيضا إلى القاموس.
وبالتالي ، فإن وظيفة الرمز البريدي () بالاشتراك مع وظيفة ديكت() هي طريقة بسيطة وفعالة لإنشاء قاموس من قائمتين أو أكثر في لغة برمجة بايثون.
أمثلة على دمج القوائم في قاموس بايثون
الوصف:
في بيثون ، يمكنك الجمع بين قائمتين في شكل القاموس باستخدام المدمج في وظيفة الرمز البريدي. تتيح لك وظيفة الرمز البريدي دمج العناصر من قوائم متعددة وإنشاء قائمة جديدة أو بنية بيانات أخرى ، مثل القاموس أو المجموعة.
مثال 1:
لنفترض أن لدينا قائمتين الأسماء والأعمار ، والتي تحتوي على أسماء وأعمار عدة أشخاص:
أسماء = ['جون' ، 'إيما' ، 'مايكل']
الأعمار = [25 ، 30 ، 35]
لدمج هاتين القائمتين في القاموس ، يمكنك استخدام وظيفة الرمز البريدي جنبا إلى جنب مع وظيفة ديكت:
مجتمعة = ديكت (الرمز البريدي (الأسماء والأعمار))
ستكون النتيجة قاموسا مدمجا تكون فيه الأسماء مفاتيح والأعمار قيم:
| الاسم | العمر |
|---|---|
| جون | 25 |
| إيما | 30 |
| مايكل | 35 |
المثال 2:
إذا كان هناك تباين في عدد العناصر في قوائم المصدر ، فسيتوقف الرمز البريدي عند استنفاد أقصر قائمة. سيتم تجاهل بقية العناصر من القائمة الأطول.
أسماء = ['جون' ، 'إيما' ، 'مايكل']
الأعمار = [25 ، 30]
مجتمعة = ديكت (الرمز البريدي (الأسماء والأعمار))
ستكون النتيجة القاموس التالي:
| الاسم | العمر |
|---|---|
| جون | 25 |
| إيما | 30 |
المثال 3:
إذا كانت القوائم الأصلية تحتوي على نسخ مكررة ، فستقوم القيم من القائمة الأخيرة بالكتابة فوق القيم الموجودة في القاموس الناتج تماما.
أسماء = ['جون' ، 'إيما' ، 'جون']
الأعمار = [25 ، 30 ، 35]
مجتمعة = ديكت (الرمز البريدي (الأسماء والأعمار))
ستكون النتيجة القاموس التالي:
| الاسم | العمر |
|---|---|
| جون | 35 |
| إيما | 30 |
المثال 4:
باستخدام وظيفة الرمز البريدي ، يمكنك أيضا دمج أكثر من قائمتين في قاموس. دعنا نطبق هذا النهج على ثلاث قوائم: الأسماء والأعمار والبلدان:
أسماء = ['جون' ، 'إيما' ، 'مايكل']
الأعمار = [25 ، 30 ، 35]
البلدان = ['الولايات المتحدة الأمريكية' ، 'كندا' ، 'أستراليا']
مجتمعة = ديكت (الرمز البريدي (أسماء ، الرمز البريدي (الأعمار والبلدان)))
في هذه الحالة ، ستكون النتيجة قاموسا يحتوي على قيم معقدة تحتوي على الأعمار والبلدان:
| الاسم | العمر والبلد |
|---|---|
| جون | (25, 'الولايات المتحدة الأمريكية') |
| إيما | (30 ، 'كندا') |
| مايكل | (35 ، 'أستراليا') |
هذه ليست سوى أمثلة قليلة لكيفية الجمع بين قائمتين في قاموس بايثون باستخدام وظيفة الرمز البريدي. من المهم أن تتذكر أنه عند استخدام الرمز البريدي ، يجب أن تكون أحجام قوائم المصدر هي نفسها أو مختلفة مع الحد الأدنى من الاختلافات.
العمل مع قوائم بأطوال مختلفة عند إنشاء قاموس
عند العمل مع بيثون ، غالبا ما يكون من الضروري الجمع بين قائمتين في القاموس. ومع ذلك ، فإن السؤال الذي يطرح نفسه هو ماذا تفعل إذا كانت القوائم ذات أطوال مختلفة.
هناك طرق مختلفة للعمل مع هذه القوائم وإنشاء قواميس تأخذ في الاعتبار اختلاف الطول.
1. باستخدام ل حلقة
طريقة واحدة هي استخدام حلقة. يمكننا أن نذهب من خلال عناصر قائمتين باستخدام الفهارس وإضافتها إلى القاموس باستخدام الرمز البريدي() وظيفة.
القائمة 1 = ['أ' ، 'ب' ، 'ج']
قائمة2 = [1, 2, 3, 4]
النتيجة = {}
إذا لين (قائمة1) < لين (قائمة2):
لأني في النطاق (لين (قائمة1)):
النتيجة [القائمة 1 [أنا]] = القائمة 2 [أنا]
آخر:
لأني في النطاق (لين (قائمة2)):
النتيجة [القائمة 1 [أنا]] = القائمة 2 [أنا]
2. باستخدام الرمز البريدي () وظيفة
تتيح لك وظيفة الرمز البريدي () إنشاء كائنات قابلة للتكرار من خلال دمج عناصر من قائمتين. في هذه الحالة ، يسمح لك أيضا بمراعاة الاختلاف في أطوال القوائم.
القائمة 1 = ['أ' ، 'ب' ، 'ج']
قائمة2 = [1, 2, 3, 4]
النتيجة = {}
للمفتاح ، القيمة في الرمز البريدي (القائمة 1 ، القائمة 2):
النتيجة [مفتاح] = القيمة
3. باستخدام إيترتولس.زيب_أطول () وظيفة
تحتوي وحدة إيترتولس على وظيفة زيب_أطول () ، والذي يسمح لك الجمع بين عناصر من قائمتين من أطوال مختلفة. على عكس الرمز البريدي () وظيفة ، فإنه يملأ القيم المفقودة مع القيمة الافتراضية.
استيراد إيترتولس
القائمة 1 = ['أ' ، 'ب' ، 'ج']
قائمة2 = [1, 2, 3, 4]
النتيجة = {}
للمفتاح ، القيمة في إيترتولس.زيب_أطول (القائمة 1 ، القائمة 2 ، قيمة التعبئة=لا شيء):
النتيجة [مفتاح] = القيمة
يعتمد اختيار الطريقة المستخدمة على المهمة المحددة ومتطلبات النتيجة. من المهم أن تأخذ في الاعتبار الفرق في طول القوائم واتخاذ التدابير اللازمة لدمج وإنشاء القاموس بشكل صحيح.
خاتمة
يعد الجمع بين قائمتين في قاموس بايثون عملية بسيطة وفعالة يمكن استخدامها في مواقف مختلفة.
عند دمج القوائم في قاموس ، من المهم أن تضع في اعتبارك أنه سيتم استخدام القيم من القائمة الأولى كمفاتيح ، وسيتم استخدام القيم من القائمة الثانية كقيم. إذا لم تتطابق أطوال القائمة ، فسيتم تجاهل العناصر التي لا تحتوي على زوج.
ينشئ قاموسا من الأزواج الناتجة.
مثال الاستخدام:
- القائمة الأولى: [1, 2, 3]
- القائمة الثانية: ['أ' ، 'ب' ، 'ج']
، نحصل على النتيجة التالية:
| زوج | القاموس |
|---|---|
| (1 ، 'أ') | {1: 'أ'} |
| (2 ، 'ب') | {2: 'ب'} |
| (3 ، 'ج') | {3: 'ج'} |
وبالتالي ، فإن الجمع بين قائمتين في قاموس يسمح لك بإنشاء بنية بيانات أكثر ملاءمة لتخزين أزواج من القيم التي يجب ربطها واستخدامها معا.
سؤال وجواب
كيف يمكنني الجمع بين قائمتين في القاموس?
لدمج قائمتين في قاموس بايثون ، يمكنك استخدام وظيفة الرمز البريدي (). على سبيل المثال ، إذا كان لدينا قائمتين الفواكه = ['التفاح' ، 'الموز' ، 'البرتقال'] والكميات = [5 ، 10 ، 3] ، يمكننا الجمع بينهما في القاموس باستخدام التعليمات البرمجية التالية: ديكت(الرمز البريدي(الفواكه والكميات)). ونتيجة لذلك ، نحصل على قاموس {'أبل': 5 ، 'الموز': 10 ، 'البرتقال': 3}.
هل من الممكن الجمع بين قائمتين من أطوال مختلفة في القاموس?
نعم ، من الممكن الجمع بين قائمتين بأطوال مختلفة في القاموس. عند استخدام الرمز البريدي () وظيفة ، سيتم الجمع بين العناصر حتى أقصر قائمة تنفد. على سبيل المثال ، لدينا قائمة من الفواكه = ['التفاح' ، 'الموز'] والكميات = [5 ، 10 ، 3]. يمكننا دمجها في قاموس باستخدام الكود التالي: ديكت(الرمز البريدي(الفواكه ، الكميات)). ونتيجة لذلك ، نحصل على قاموس {'أبل': 5 ، 'الموز': 10}.