Python Tutorials

طرق قوائم بايثون: append() مقابل extend()

Spread the love

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

محتويات:

إضافة عناصر: طريقة append()

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


my_list = [1, 2, 3]
my_list.append(4)  # يضيف 4 إلى النهاية
print(my_list)  # الإخراج: [1, 2, 3, 4]

my_list.append([5, 6]) # يضيف [5, 6] كعنصر واحد
print(my_list) # الإخراج: [1, 2, 3, 4, [5, 6]]

لاحظ أنه في المثال الثاني، تصبح القائمة [5, 6] عنصرًا واحدًا *ضمن* my_list؛ فهي ليست مفككة.

توسيع القوائم: طريقة extend()

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


my_list = [1, 2, 3]
my_list.extend([4, 5])  # يضيف 4 و 5 بشكل منفصل
print(my_list)  # الإخراج: [1, 2, 3, 4, 5]

my_list.extend("abc") # يضيف 'a'، 'b'، و 'c' بشكل منفصل
print(my_list) # الإخراج: [1, 2, 3, 4, 5, 'a', 'b', 'c']

هنا، تضيف extend() كل عنصر من [4, 5] وكل حرف من "abc" كعناصر منفصلة إلى my_list.

مقارنة مفصلة: append() مقابل extend()

يلخص الجدول التالي الاختلافات الرئيسية:

الخاصية append() extend()
نوع الوسيطة عنصر واحد عنصر قابل للتكرار (قائمة، مجموعة، سلسلة نصية، إلخ)
العملية يضيف عنصرًا واحدًا يضيف عناصر متعددة من عنصر قابل للتكرار
تعديل القائمة يزيد طول القائمة بمقدار 1 يزيد طول القائمة بعدد العناصر في العنصر القابل للتكرار
الكفاءة أسرع بشكل عام لإضافة عنصر واحد أكثر كفاءة لإضافة عناصر متعددة من عنصر قابل للتكرار

التطبيقات العملية وأفضل الممارسات

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

الأسئلة الشائعة

  • س: هل يمكنني استخدام append() مع عنصر قابل للتكرار؟ ج: نعم، ولكن سيتم إضافة العنصر القابل للتكرار بأكمله كعنصر واحد.
  • س: هل يمكنني استخدام extend() مع عنصر واحد؟ ج: نعم، لكنه أقل كفاءة من append() حيث ستعامل بايثون العنصر الواحد كعنصر قابل للتكرار مكون من عنصر واحد.
  • س: أي طريقة أسرع؟ ج: append() أسرع بشكل عام، خاصةً لإضافة عنصر واحد، حيث يتجنب عبء التكرار. يكون الفرق عادةً غير مهم ما لم تكن تعمل مع قوائم كبيرة بشكل استثنائي.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *