اذهب إلى المحتوى
  • 0

ما الفرق بين الدالة append و extend و insert في بايثون؟

Adam Ebrahim

السؤال

ما الفرق بين الدالتين append () و extension ()؟ عندما قمت بمحاولة استخدام كلا الدالتين حصل على نفس النتيجة تقريبًا ويتم إضافة العناصر إلى القائمة بدون مشكلة!!

x = [ ]

x.append([1,2,3])

x.extend([4,5,6])

x.insert([4,5,6])

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

(object)append تضيف كائن في نهاية ال list كما هو:

li = ['adam', 'messi',44]  
li.append([5,5]) # الخرج : ['adam', 'messi', 44, [5, 5]]

(iterable)extend تقوم بإضافة عناصر إلى ال list من iterable (أي list أخرى أو tuble أو set أو dict):

li2 = ['adam', 'messi',44]  
li2.extend([5,5]) # الخرج : ['adam', 'messi', 44, 5, 5] # لاحظ كيف اختلفت عملية الإضافة

(index,value)insert: تستخدم لإضافة عنصر جديد في مكان محدد في الـlist الذي قام باستدعائها.
 

li3 = ['adam', 'messi',44]  
li3.insert(0,[5,5]) # الخرج : [[5, 5], 'adam', 'messi', 44]

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

الدالة append تقوم بإلحاق العنصر كتلة واحدة مهما كان عدد العناصر, لاحظ المثال الآتي

x = [1, 2, 3]
x.append([4, 5])
print (x)

سوف تكون النتيجة كالتالي

[1, 2, 3, [4, 5]]
          ^^^^^^

لاحظ تم الحاق العناصر كعنصر واحد
أما في الدالة extend يقوم بادخال كل عنصر على حدا, لاحظ المثال الآتي

x = [1, 2, 3]
x.extend([4, 5])
print (x)

سوف تكون النتيجة كالتالي

[1, 2, 3, 4, 5]
          ^^^^

لاحظ تم الحاق كل عنصر على حدا وليست كما في المثال السابق

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

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

x = [ ]

x.insert([4,5,6])

print(x)

الشيفرة السابقة تسبب خطأ: يجب تمرير وسيطين..

insert() takes exactly 2 arguments (1 given)

وبشكل عام هي تضيف العنصر الثاني ككتلة واحدة في الدليل الهدف، (عنصر أو قائمة):

x = [1 ,2 ,3]

x.insert(1,[4,5,6])

print(x)

الناتج:

[1, [4, 5, 6], 2, 3]

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...