الانتقال إلى المحتوى الرئيسي

كيفية فك قائمة في بيثون: دليل بسيط مع أمثلة

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

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

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

  1. وصف تفريغ القائمة
  2. كيفية فك قائمة في بايثون
  3. باستخدام عامل "النجمة"
  4. تفريغ القائمة في الوظائف
  5. أمثلة على تفريغ قائمة في بايثون
  6. مثال 1: تفريغ بسيط للقائمة
  7. مثال 2: تفريغ قائمة في حلقة
  8. مثال 3: تفريغ قائمة في وظيفة
  9. سؤال وجواب
  10. كيف يمكنني فك قائمة في بيثون?
  11. هل من الممكن فك قائمة طول التعسفي?
  12. في أي الحالات يمكن تفريغ قائمة في بيثون تكون مفيدة?

وصف تفريغ القائمة

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

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

مثال على استخدام عامل تخفيف الضغط:

الأرقام = [1 ، 2 ، 3]

أ ، ب ، ج = أرقام

طباعة (أ) # الإخراج: 1

طباعة (ب) # الإخراج: 2

طباعة (ج) # الإخراج: 3

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

إذا كان هناك عناصر أكثر أو أقل في القائمة من المتغيرات التي تريد تعيينها إليها ، فسيتم طرح استثناء "فالويرور". على سبيل المثال ، إذا كانت قائمة" الأرقام " تحتوي على عنصرين فقط ، فسيؤدي الرمز التالي إلى طرح استثناء:

الأرقام = [1 ، 2]

أ ، ب ، ج = أرقام # استثناء: فالويرور: لا قيم كافية لفك (المتوقع 3 ، حصلت على 2)

يمكن أيضا استخدام عامل فك الضغط لفك ضغط القوائم المتداخلة:

أرقام = [1, 2, [3, 4]]

أ ، ب ، ج = أرقام

طباعة (أ) # الإخراج: 1

طباعة (ب) # الإخراج: 2

طباعة (ج) # الإخراج: [3 ، 4]

في هذا المثال ، تحتوي قائمة "الأرقام" على قائمة متداخلة. عند التفريغ ، يتم حفظ القائمة المتداخلة في متغير منفصل "ج".

يمكن أيضا استخدام عامل فك الضغط في الحلقات للتكرار من خلال قائمة وفك ضغط العناصر:

أرقام = [[1, 2], [3, 4], [5, 6]]

ل ، ب في الأرقام:

طباعة (أ ، ب)

في هذا المثال ، يتم استخدام حلقة" من أجل "للتكرار من خلال قائمة" الأرقام". يتم فك ضغط كل قائمة متداخلة في المتغيرات" أ "و" ب " ، وبعد ذلك يتم عرض قيمها على الشاشة.

يعد تفريغ القوائم في بايثون مناسبا للعمل مع البيانات التي تمثلها القوائم. انها تسمح لك لتنفيذ عمليات مباشرة مع عناصر القائمة ، مما يجعل من الاسهل لقراءة وكتابة التعليمات البرمجية.

كيفية فك قائمة في بايثون

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

لتفريغ قائمة في بيثون ، يمكنك استخدام البناء التالي:

قائمة = [1 ، 2 ، 3]

أ ، ب ، ج = قائمة

في هذا المثال ، سيتم فك ضغط عناصر القائمة [1 ، 2 ، 3] إلى متغيرات منفصلة أ ، ب ، ج ، على التوالي. الآن يمكنك استخدام هذه المتغيرات بشكل منفصل:

طباعة (أ) # الإخراج: 1

طباعة (ب) # الإخراج: 2

طباعة (ج) # الإخراج: 3

في الممارسة العملية ، يمكن استخدام تفريغ القائمة ، على سبيل المثال ، لتعيين قيم للمتغيرات أو لتمرير الوسائط إلى دالة:

أرقام الطباعة (أ ، ب ، ج):

الطباعة (أ ، ب ، ج)

قائمة = [1 ، 2 ، 3]

أرقام الطباعة (*قائمة) # الإخراج: 1 2 3

هنا يتم فك ضغط القائمة [1 ، 2 ، 3] وتمريرها إلى وظيفة أرقام الطباعة باستخدام المشغل*.

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

قائمة = [1, 2, 3, 4, 5]

أ ، * ب ، ج = قائمة

طباعة (أ) # الإخراج: 1

طباعة (ب) # الإخراج: [2, 3, 4]

طباعة (ج) # الإخراج: 5

في هذا المثال ، سيقبل المتغير ب قائمة [2 ، 3 ، 4] تتكون من عناصر القائمة المتبقية[1, 2, 3, 4, 5].

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

باستخدام عامل النجمة

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

تفريغ القائمة

يتيح لك استخدام عامل النجمة عند تفريغ القائمة تعيين كل عنصر من عناصر القائمة لمتغير منفصل. على سبيل المثال:

قائمتي = [1 ، 2 ، 3]

أ ، ب ، ج = قائمتي

طباعة (أ) # 1

طباعة (ب) # 2

طباعة (ج) # 3

في هذا المثال ، يتم فك ضغط عناصر القائمة [1 ، 2 ، 3] إلى متغيرات أ ، ب ، ج.

تفريغ مجموعة

يمكن أيضا استخدام عامل النجمة لتفريغ عناصر المجموعة. على سبيل المثال:

زوجي = (4 ، 5 ، 6)

د ، هـ ، و = زوجي

طباعة (د) # 4

طباعة (ه) # 5

طباعة (و) # 6

في هذا المثال ، يتم فك ضغط عناصر المجموعة (4 ، 5 ، 6) إلى متغيرات د, ه و و.

تفريغ باستخدام عامل النجمة

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

قائمتي = [1, 2, 3, 4, 5]

أ ، ب ، * ج = قائمتي

طباعة (أ) # 1

طباعة (ب) # 2

طباعة (ج) # [3 ، 4 ، 5]

في هذا المثال ، أول عنصرين من القائمة هما [1, 2, 3, 4, 5] يتم تعيينها للمتغيرين أ و ب ، ويتم فك ضغط العناصر المتبقية إلى متغير ج كقائمة [3 ، 4 ، 5].

تفريغ عند تمرير الحجج إلى وظيفة

يمكن أيضا استخدام عامل النجمة لفك ضغط عناصر القائمة أو المجموعة كوسيطات عند استدعاء دالة. على سبيل المثال:

قائمتي = [1 ، 2 ، 3]

وظيفتي (*قائمتي)

في هذا المثال ، يتم فك ضغط عناصر القائمة [1 ، 2 ، 3] في وسيطات منفصلة عند استدعاء دالة وظيفتي.

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

تفريغ القائمة في الوظائف

أحد الاستخدامات الأكثر شيوعا لتفريغ القائمة في بايثون هو في الوظائف. قد يتضمن تفريغ القائمة تمرير الوسائط إلى دالة ، بالإضافة إلى إرجاع القيم من دالة.

ضع في اعتبارك مثالا على تمرير الوسائط إلى دالة عن طريق تفريغ قائمة:

ديف وظيفتي (الاسم والعمر والمدينة):

طباعة ("الاسم:" ، الاسم)

طباعة ("العمر:" ، العمر)

طباعة ("المدينة:" ، المدينة)

شخص = ["أليكسي" ، 25، "موسكو"]

وظيفتي (*شخص)

نتيجة لتنفيذ هذا الرمز ، سوف نحصل على الإخراج التالي:

  • الاسم: أليكسي
  • العمر: 25
  • المدينة: موسكو

في هذا المثال ، نقوم بتمرير الوسائط إلى وظيفة 'وظيفتي' عن طريق تفريغ قائمة `الشخص`. يتم تفكيك الاسم والعمر والمدينة من قائمة 'الشخص' وتمريرها إلى معلمات الوظيفة المناسبة.

يمكنك أيضا استخدام تفريغ القائمة لإرجاع قيم متعددة من دالة:

مواطنه الحصول على المعلومات():

الاسم = "أليكسي"

العمر = 25

المدينة = "موسكو"

اسم الإرجاع والعمر والمدينة

شخص = الحصول على معلومات()

الاسم والعمر والمدينة = شخص

طباعة ("الاسم:" ، الاسم)

طباعة ("العمر:" ، العمر)

طباعة ("المدينة:" ، المدينة)

نتيجة لتنفيذ هذا الرمز ، سوف نحصل على الإخراج التالي:

  • الاسم: أليكسي
  • العمر: 25
  • المدينة: موسكو

في هذا المثال ، عند استدعاء وظيفة ' جيت_ينفو` ، فإنه يعود مجموعة من ثلاث قيم-الاسم والعمر والمدينة. ثم نقوم بفك ضغط هذه المجموعة وتعيين كل قيمة للمتغير المقابل.

تفريغ قائمة في وظائف هو وسيلة مريحة ومرنة لنقل وإرجاع قيم متعددة. استخدامه لتحسين قراءة وفهم التعليمات البرمجية الخاصة بك.

أمثلة على تفريغ قائمة في بايثون

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

فيما يلي بعض الأمثلة التي توضح كيفية فك ضغط قائمة في بايثون:

    المثال 3:

قائمة = [7 ، 8 ، 9]

  • ز ، * ح ، ط = قائمة

طباعة (ز) # الإخراج: 7

طباعة (ح) # الإخراج: [8]

  1. طباعة (ط) # الإخراج: 9

مثال 1: تفريغ بسيط للقائمة

في هذا المثال ، سننظر في كيفية فك قائمة بسيطة في بايثون باستخدام عامل التشغيل " * " وتعيين قيم عناصرها للمتغيرات الفردية.

خطوات تفريغ القائمة:

إعلان القائمة ليتم تفريغها:

قائمتي = [1 ، 2 ، 3]

تطبيق عامل التشغيل " * " قبل اسم القائمة في تعيين المتغيرات:

أ ، ب ، ج = * قائمتي

، على التوالي.

مثال على الكود الكامل:

قائمتي = [1 ، 2 ، 3]

أ ، ب ، ج = * قائمتي

طباعة (أ) # الإخراج: 1

طباعة (ب) # الإخراج: 2

طباعة (ج) # الإخراج: 3

في هذا المثال ، قمنا بتفكيك القائمة بنجاح

[1, 2, 3]

وتعيين قيمها للمتغيرات الفردية

a

,

b

، و

  • c
  • .
  • مثال 2: تفريغ قائمة في حلقة
  • إذا كانت لدينا قائمة تحتوي على عدة قوائم فرعية ، فيمكننا فكها في حلقة للمعالجة المريحة لكل عنصر.
  • يوجد أدناه رمز مثال يوضح كيفية فك ضغط قائمة في حلقة:
  • "'بايثون
  • الفواكه = [['التفاح' ، 'الأحمر'] ، ['الموز' ، 'الأصفر'] ، ['الكمثرى' ، 'الأخضر']]
  • للفاكهة ، اللون في الفواكه:
  • طباعة (و " الفاكهة: {الفاكهة}")

طباعة (و " اللون: {اللون}")

طباعة ("--")

"`

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

في كل تكرار للحلقة ، نقوم بفك ضغط القائمة الداخلية الحالية عن طريق تعيين قيم للمتغيرات `الفاكهة` و `اللون'. ثم نقوم بإخراج معلومات حول الفاكهة ولونها ، وتقسيم كل تكرار بخط أفقي لسهولة القراءة.

نتيجة تنفيذ التعليمات البرمجية:

الفاكهة: التفاح

اللون: أحمر

——

يمكن أن يكون تفريغ القوائم مفيدا جدا أيضا عند العمل مع الوظائف. يمكن استخدامه لتمرير الوسائط إلى دالة أو لإرجاع قيم متعددة من دالة.

العودة أ * ب

الأرقام = [2 ، 3]

النتيجة = أرقام مضاعفة (*أرقام)

طباعة (نتيجة)

في هذا المثال ، لدينا

وظيفة تعدد الأرقام

، والتي تأخذ حجتين وإرجاع منتجاتها. نحن نقوم بإنشاء قائمة

أرقام

مع القيم