Python قائمة إلحاق () مع الأمثلة

⚡ ملخص ذكي

Python تضيف الدالة `list append()` عنصرًا واحدًا إلى نهاية قائمة موجودة، مما يزيد طولها بمقدار واحد. تُعدّل هذه الدالة القائمة في مكانها، ولا تُرجع أي قيمة، وتقبل الأعداد الصحيحة، والسلاسل النصية، والأعداد العشرية، أو غيرها من الكائنات.

  • 🔘 بناء الجملة: تأخذ الدالة append() وسيطًا واحدًا وتدرجه في الطرف الأيمن من القائمة الأساسية.
  • ☑️ قيمة الإرجاع: تقوم الدالة append() بتغيير القائمة في مكانها وتعيد القيمة None، وليس قائمة جديدة.
  • قوائم البناء: تقوم حلقة for مع append() أو فهم القائمة بملء قائمة من الصفر.
  • 🧪 سلوك المكدس: تعمل الدالة append() كعملية دفع، بينما تقوم الدالة pop() بإزالة العنصر الأخير (آخر ما يدخل أول ما يخرج).
  • 🛠️ الإلحاق مقابل التمديد: تضيف الدالة append() عنصرًا واحدًا؛ بينما تضيف الدالة extend() كل عنصر من عناصر الكائن القابل للتكرار مثل الصف.
  • 🤖 سير عمل الذكاء الاصطناعي: تستخدم حلقات التعلم الآلي الدالة append() لجمع الميزات والتنبؤات والعينات أثناء التدريب.

Python إضافة قائمة ()

ما هي طريقة الإلحاق في Python?

وظيفة الإلحاق في Python تساعد هذه الدالة في إدراج عناصر جديدة في القائمة الأساسية. تُضاف العناصر إلى الجانب الأيمن من القائمة الموجودة. تقبل دالة الإضافة وسيطًا واحدًا وتزيد حجم القائمة بمقدار 1.

يوضح الرسم البياني التالي Pythonوظيفة الإلحاق:

إلحاق الطريقة في Python

بناء الجملة:

List.append(object)

ملاحظة: هنا، يمكن أن يكون الكائن عددًا صحيحًا أو سلسلة نصية أو عددًا عشريًا. لا تُرجع دالة الإلحاق أي قيمة أو قائمة، بل تُعدّل القائمة الأساسية وتُضيف إليها عناصر جديدة.

كيفية استخدام وظيفة الإلحاق لإنشاء ملف Python قائمة؟

A Python يمكن إنشاء القائمة وملؤها باستخدام طريقتين.

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

ألق نظرة على المثال أدناه الذي يستخدم الطريقة الثانية:

import math
def calc_sqr_root(b_list):
    bop=[]
    for number in b_list:
        bop.append(math.sqrt(number))
    return bop
    
base_list=(4,9,100,25,36,49,81)
print("the Squared number list is as follows",base_list)
calc_sqr_root(base_list)
print("the numbers with square root in list is as follows",calc_sqr_root(base_list))

الإخراج:

the Squared number list is as follows (4, 9, 100, 25, 36, 49, 81)
the numbers with square root in the list is as follows [2.0, 3.0, 10.0, 5.0, 6.0, 7.0, 9.0]

Code التفسير:

  • استخدم الأقواس المربعة لتحديد قائمة فارغة.
  • يتم استخدام وظيفة الحلقة والإلحاق معًا ضمن وظيفة تعريف محددة من قبل المستخدم.
  • يملأ قائمة فارغة من الصفر.
  • يقوم بإدراج عناصر مفردة واحدًا تلو الآخر عن طريق استخدام حلقة لإدراج العناصر.
  • يتم استخدام القائمة الملحقة لإرجاع قيمة الوظيفة المحددة من قبل المستخدم.

فيما يلي مثال يستخدم الطريقة الأولى:

على سبيل المثال:

Python رمز:

import math
def calc_sqr_root(b_list):
    return [math.sqrt(number) for number in b_list]
base_list=(4,9,100,25,36,49,81)
print("the Squared number list is as follows",base_list)
calc_sqr_root(base_list)
print("the numbers with square root in list is as follows",calc_sqr_root(base_list))

الإخراج:

the Squared number list is as follows (4, 9, 100, 25, 36, 49, 81)
the numbers with a square root in the list are as follows [2.0, 3.0, 10.0, 5.0, 6.0, 7.0, 9.0]

Code التفسير:

  • يمكنك استخدام فهم القائمة كبديل لإلحاق دالة بها Python لملء القائمة من الصفر.
  • يساعد في ملء القائمة من البداية.
  • يساعد فهم القائمة ضمن القائمة المخصصة على تعبئة العناصر الموجودة في القائمة الأصلية.
  • فهو يساعد على تحسين معالجة البيانات مقارنة بدمج حلقة for مع وظيفة الإلحاق.

كيف تعمل طريقة الإلحاق؟

تعمل وظيفة الإلحاق بالطريقة التالية:

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

فيما يلي صورة توضح مؤشرات العناصر:

يعمل أسلوب الإلحاق

دعونا نأخذ المثال أدناه الذي يضيف عناصر إلى القائمة الأساسية.

Python على سبيل المثال:

baselist = ['P','Y','3','4.2','T']
print("The original list", baselist)
print("At index 0:", baselist[0])
print("At index 3:",baselist[3])
baselist.append('n')
print("The appended list", baselist)
print("At index 5 post append:",baselist[5])

الإخراج:

The original list ['P', 'Y', '3', '4.2', 'T']
At index 0: P
At index 3: 4.2
The appended list ['P', 'Y', '3', '4.2', 'T', 'n']
At index 5 post append: n

Code التفسير:

  • أضافت وظيفة الإلحاق نوع بيانات الكائن إلى المساحة المحجوزة المتوفرة في القائمة.
  • Python القوائم عبارة عن تسلسلات قابلة للتكرار يمكنها الاحتفاظ بأنواع بيانات وكائنات مختلفة.

تضيف دالة الإلحاق عنصرًا جديدًا في الفهرس 5، كما هو موضح أدناه:

يعمل أسلوب الإلحاق

كيفية إدراج عناصر في القائمة دون إلحاق؟

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

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

على سبيل المثال:

base_list=[2,4,6]
print("The list before append",base_list)
base_list[len(base_list):]=[10]
print("The list after append",base_list)

الإخراج:

The list before append [2, 4, 6]
The list after append [2, 4, 6, 10]

كيفية تحديد المكدس باستخدام وظيفة الإلحاق؟

تنطبق السمات التالية على المكدس:

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

دعونا نلقي نظرة على برنامج حيث تعمل وظيفة الإضافة والإخراج كعمليات دفع وإخراج للمكدس المحدد:

على سبيل المثال:

Python رمز:

#initialize the stack
GGGstack = []
print("Adding item to the list",GGGstack.append(100))
print("Adding item to the list",GGGstack.append(2333))
print("Adding item to the list",GGGstack.append(50000))
print("the base list after adding elements,",GGGstack)
print("base list after calling pop",GGGstack.pop())
print("base list after calling pop",GGGstack.pop())
print("base list after calling pop",GGGstack.pop())
print("base list after calling pop",GGGstack.pop())

الإخراج:

Adding item to the list None

Adding item to the list None

Adding item to the list None

the base list after adding elements, Stack([100, 2333, 50000])

base list after calling pop 50000

base list after calling pop 2333

base list after calling pop 100

Empty stack

base list after calling pop None

Code التفسير:

  • يتم تعريف مكدس GGGStack
  • تتم إضافة العناصر باستخدام طريقة الإلحاق
  • يتم إخراج كل عنصر من القائمة الأصلية واحدًا تلو الآخر.
  • عندما تكون القائمة فارغة، فإنها تطرح خطأ في الفهرس.

ما هي طريقة التمديد في Python?

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

ملاحظة: لا تُرجع هذه الدالة أي قيمة بعد تنفيذها.

فيما يلي صيغة دالة التمديد:

بناء الجملة:

List.extend(iterable list)

الفرق بين التمديد والإلحاق Python

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

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

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

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

يتم تنفيذ عمليات الإلحاق في وقت O(1) المستهلك. Python يقوم أحيانًا بتغيير حجم المصفوفة ونسخ كل عنصر بتكلفة O(n)، ولكن هذا نادر الحدوث، لذلك يظل متوسط ​​تكلفة الإلحاق ثابتًا.

تُرجع الدالة append() القيمة None لأنها تُعدّل القائمة في مكانها. كتابة new = old.append(x) تُخزّن القيمة None وتفقد القائمة، وهو خطأ شائع بين المبتدئين ويجب تجنبه.

يؤدي تمرير قائمة إلى دالة append() إلى إضافتها كعنصر واحد متداخل، لذا فإن [1, 2].append([3, 4]) ينتج عنه [1, 2, [3, 4]]. استخدم دالة extend() أو عامل الجمع لدمج العناصر بشكل فردي.

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

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

يستخدم كود التعلم الآلي الدالة append() لجمع الميزات والتنبؤات وعينات الدفعات داخل الحلقات قبل تحويلها إلى مصفوفات NumPy أو موترات لخطوط أنابيب تدريب الذكاء الاصطناعي.

نعم. يقوم GitHub Copilot ومساعدو الذكاء الاصطناعي بإنشاء استدعاءات append() وحلقات تكرارية وعبارات فهم من تعليق قصير، ويمكنهم إعادة هيكلة عبارات append() المتكررة في عبارة فهم واحدة. مع ذلك، اختبر الناتج.

تلخيص هذه التدوينة بـ: