متد Append در پایتون، عنصری را به انتهای لیست موجود اضافه میکند. این متد، شیئی را به عنوان آرگومان میپذیرد و آن را به انتهای لیستی که برروی آن اعمال شده اضافه میکند. از آنجا که لیستهای پایتون میتوانند چندین نوع داده مختلف را بپذیرند، شیءِ ارسال شده به متد Append هم میتواند از هر نوع دادهای باشد. اگر لیست جدیدی را با چندین عضو در آن به عنوان آرگومان به این متد ارسال کنیم، با لیست جدید همانند یک شیء و عضوی از عناصر لیسا در متد، رفتار میشود. در نتیجه لیست اصلی فقط به اندازه یک عنصر بزرگتر میشود. متد Append چیزی را به عنوان خروجی برنمیگرداند. تنها عملیات این متد، ایجاد تغییر در لیست موجود است.
از آنجا که در هر لحظه با کمک این متد فقط میتوان یک عنصر مجزا را به انتهای لیست اضافه کرد، پیچیدگی زمانی متد Append برابر با O(1) است. در این مطلب از مجله فرادرس، روش استفاده از متد Append را با کمک چندین مثال مختلف میآموزیم. در نهایت هم تفاوتهای میان متد append()
را با متد extend()
بررسی خواهیم کرد.
متد Append در پایتون چیست؟
Append یکی از متدهای «درونی» (Built-In) پایتون است که شیئی را با هر نوع دادهای میپذیرد و در انتهای لیستی که به روی آن اعمال شده اضافه میکند.
- هر بار که متد append()
بر روی لیست موجود فراخوانی میشود، آیتم جدیدی را به انتهای آن لیست اضافه میکند.
- متد append()
در خروجی هیچ چیزی برنمیگرداند. این متد فقط لیست موجود را تغییر میدهد.
سینتکس پایه متد Append
در کادر زیر سینتکس حالت ابتدایی این متد را نمایش دادهایم.
- my_list
: نام همان لیستی است که این متد بر روی آن اعمال میشود. وجود نام لیست و نقطه قبل از نام متد الزامی است.
- item
: این پارامتر، همان عنصری است که به انتهای لیست my_list
اضافه میشود.
توجه: درباره پارامتر item
دو نکته مهم است که باید به آنها توجه کرد.
- پارامتر item
از هر نوع دادهای مانند Integer ،Float، بولین، نوع داده رشته در پایتون، لیست، نمونههایی از کلاسهای تعریف شده توسط کاربر و غیره میتواند باشد.
- وجود پارامتر item
ضروری است. در صورت نادیده گرفتن این پارامتر در زمان استفاده از متد با پیغام خطا روبهرو میشویم.
مثال
در این بخش چند مثال ساده و کوتاه مختلف را درباره کار با این متد پیادهسازی کردهایم.
مثال اول
در کد زیر به صورت کاملا ساده مطابق سینتکسی که در بالا نمایش داده شده، عنصری را به لیست اضافه میکنیم.
1#using append() function
2my_name = ['Infoedge', 'Naukri']
3my_name.append('Learning')
4my_name
خروجی کد بالا برابر با لیست [‘Infoedge’, ‘Naukri’, ‘Learning’]
است.
مثال دوم
در این مثال، چندبار پشت سرهم از متد append()
استفاده کرده و هم چنین دو مقدار با نوع داده مختلف را نیز به لیست اضافه میکنیم.
1#using append() function
2my_name = ['Infoedge:', 'Shiksha Online']
3my_name.append('Siksha')
4my_name.append('Naukri')
5my_name.append('Jeevansathi')
6my_name.append(99)
7
8#updated list after adding element using append() function.
9my_name
با اجرای کد بالا لیست زیر در خروجی به کاربر نمایش داده میشود.
['Infoedge:', 'Shiksha Online', 'Siksha', 'Naukri', 'Jeevansathi', 99]
پیچیدگی زمانی متد Append در پایتون
پیچیدگی زمانی متد Append در پایتون، ثابت و برابر با O(1) است. از آنجا که لیستها دارای قابلیت دسترسی تصادفی هستند، بنابراین آخرین عنصر در لیست در زمان O(1) قابل دسترسی است.
آموزش زبان برنامه نویسی پایتون با فرادرس
برای ارتقا مهارت خود را در کار با زبان برنامه نویسی پایتون، باید مفاهیم و ابزارهای پایتون را به صورت عمیقتری بشناسیم و نسبت به ظرایف این زبان برنامهنویسی اطلاعات بیشتری کسب کنیم. کسب این اطلاعات صرفا از طریق مطالعه امری وقتگیر و گاهی بسیار مشکل است. برای یادگیری بهتر لازم است که بخش دیداری و شنیداری مغز ما نیز فعال شود.
یکی از بهترین راهها برای فعال کردن بخش شنیداری و دیداری مغز در زمان آموزش شرکت در کلاسهای برنامهنویسی است. این کار نسبت به مطالعه صِرف، گزینه بسیار بهتر و کارآمدتری است. اما پیدا کردن کلاس متناسب با شرایط مان از لحاظ مالی، علمی، رفتوآمد و زمانی نیز امری مشکل است. علاوه بر این برای مرور کلاسها هم معمولا چارهای جز مطالعه جزوهها وجود ندارد.
پس بهتر است که از روش آموزشی دیگری بهرهمند شویم. یکی از بهترین گزینههای ممکن استفاده از فیلمهای آموزشی است. فیلمهای آموزشی امتیازات خاصی دارند که در ادامه فهرست کردهایم.
- محدودیت زمانی و مکانی ندارند.
- قابل بازبینی مجدد به صورت بیشمار دفعه هستند.
- در عین حال از قوای یادگیری دیداری و شنیداری دانشجویان نیز کار میکشند.
سایت آموزشی فرادرس یکی از بهترین تولید کنندههای فیلمهای آموزشی به زبان فارسی است. کیفیت آموزشهای بالا در کنار طبقهبندی آموزشها به سطوح علمی متفاوت هم جزو امتیازاتی است که باعث برجسته شدن فرادرس در بین همه جویندگان دانش شده است.
در این بخش چند مورد از فیلمهای آموزشی متناسب با سطح این مطلب را معرفی کردهایم. در صورتی که تمایل به دیدن فیلمهای بیشتر دارید میتوانید بر روی تصویر بالا کلیک کرده یا مستقیما به وبسایت فرادرس مراجعه کنید.
روش استفاده از متد Append در پایتون
متد Append در پایتون، یکی از سادهترین و مفیدترین متدهای پایتون است. در این بخش به کار با این متد میپردازیم و وارد کردن انواع داده مختلف به لیست را با استفاده از این متد تمرین خواهیم کرد.
متدهای پایتون با توابع پایتونی تفاوتهای کوچکی دارند. اما سبک برنامهنویسی تابعی شامل استفاده از همه این موارد میشود. برای آموزش این روش برنامهنویسی میتوانید فیلم آموزش برنامه نویسی تابعی در پایتون از فرادرس را مشاهده کنید. برای سادگی کار، لینک این فیلم آموزشی را در ادامه قرار دادهایم.
وارد کردن لیست های پایتون با استفاده از متد Append
هر لیست خود شیئی از کلاس لیست است. اگر در پایتون لیستی را به لیست دیگری وارد کنیم -مثلا با متد Append- با لیست جدید مانند شیء مجزایی رفتار خواهد شد. در واقع به چشم عنصری در میان سایر عنصرهای لیست به آن نگاه میشود.
مثال اول
در این مثال، لیست سادهای را با استفاده از متد Append به لیست دیگر اضافه کردهایم.
1#python list append
2
3name = ['Vikram', 'Vikas']
4dob_month = [9, 12]
5name.append(dob_month)
6name
خروجی حاصل از اجرای کد بالا، برابر با لیست [‘Vikram’, ‘Vikas’, [9, 12]]
است.
مثال دوم لیست های تودرتو
در این مثال، نمایشی از فرایند ساخت لیستهای تودرتو با استفاده از متد append()
را ارائه دادهایم. این نوع از لیستها کاربردهای بسیار خاص و مفیدی در پایتون دارند.
به طور کل، لیستها جزو ساختارهای ذخیره داده بسیار مهم در پایتون هستند. برای همین پایتون متدهای فراوانی را برای کار با لیستها تعریف کرده است. با کمک قدرتی که این متدها به لیستها دادهاند، تقریبا در هر برنامهای از لیستها کمک گرفته میشود. برای آشنایی با پرکاربردترین متدها میتوانید مطلب متدهای لیست در پایتون به زبان ساده با مثال و کد را از مجله فرادرس مطالعه کنید. در کادر زیر نمایش کوچکی از تولید لیستهای تودرتو را با کمک یکی از همین متدها -متد append()
– ارائه کردهایم.
1#nested python list append()
2
3#create a list
4list_1 = [2, 4, 6]
5list_2 = [3, 6, 9]
6list_3 = [4, 8, 12]
7
8#first append list_2 in list_1 and then append list_3 in list_2
9
10list_1.append(list_2)
11list_2.append(list_3)
12list_1
خروجی حاصل از اجرای کد بالا، برابر با لیست زیر است.
[2, 4, 6, [3, 6, 9, [4, 8, 12]]]
کار با آرایه های پایتون با استفاده از متد Append
آرایههای پایتونی از نوع ساختارهای ذخیره داده خطی مرتب شده هستند. آرایهها برای ذخیرهسازی عناصری با نوع داده یکسان در موقعیت پشت سر هم در حافظه سختافزاری استفاده میشوند.
مثال
در این قسمت به نمایش مثالی درباره استفاده از متد append()
بر روی آرایههای پایتون پرداختهایم. در ابتدا باید آرایه را تعریف کنیم import array as arr
.
1#python array append
2#import array
3import array as arr
4
5#define variable/create Array
6
7grade = arr.array('d', [7.4, 8.6, 6.8, 9.4, 8.4])
8
9grade.append(8.8)
10grade
خروجی حاصل از اجرای کد بالا برابر با آرایه زیر است.
array('d', [7.4, 8.6, 6.8, 9.4, 8.4, 8.8])
کار با دیکشنری های پایتون با استفاده از متد Append
دیکشنریها تقریبا مهمترین، انعطافپذیرترین و قابل تغییرترین نوع داده درونی پایتون هستند. به عبارت ساده، دیکشنری در پایتون، مجموعه انعطافپذیر و دلخواهی از «جفتهای کلید و مقدار» (Key-Value Pairs) است. در این ساختار ذخیره داده هم کلید و هم مقدار به عنوان اشیا پایتونی شناخته میشوند.
مثال
در مثال زیر میخواهیم با استفاده از متد append()
دیکشنری را به لیست اضافه کنیم. در واقع دیکشنری را به عنوان پارامتر به متد Append ارسال میکنیم.
1#python dictionary append
2my_list = [1,2,3, 4]
3my_dict = {'name':'Vikram', 'age': 22, 'sex': 'male'}
4my_list.append(my_dict)
5my_list
خروجی حاصل از اجرای کد بالا برابر با لیست زیر است. مشاهده میکنیم که متد append()
با دیکشنری که به عنوان آرگومان دریافت کرده نیز همانن عنصر ساده و مجزایی در لیست رفتار کرده است.
[1, 2, 3, 4, {'name':'Vikram', 'age': 22, 'sex': 'male'}]
تفاوت های بین متدهای Append و Extend
متدهای Append و Extend هر دو برای اضافه کردن عنصر به لیست استفاده میشوند. هر دوی این متدها درونیاند و بعد از نام لیست و نقطه بر روی لیست موجود اعمال میشوند. اما این متدها دارای تفاوتهایی هم هستند که در این بخش به بیان آنها پرداختهایم.
متد Append
در فهرست زیر، چند مورد از نکات برجسته و منحصر به متد Append را با نمایش مثالی ارائه کردهایم.
- عنصری که به عنوان آرگومان به متد append()
ارسال شده، به انتهای لیست موجود اضافه میشود.
- با هر بار اعمال متد append()
بر روی لیست، طول لیست به اندازه یک واحد افزایش پیدا میکند.
- پیچیدگی زمانی اجزای عملیات append()
برابر با O(1) است.
مثالی از عملکرد متد append()
را در کادر زیر، کدنویسی کردهایم.
1#example of append() function in python
2
3car = ['Hyundai', 'Ford', 'Mahindra']
4bike = ['BMW', 'KTM', 'Yamaha']
5car.append(bike)
6car
خروجی حاصل از اجرای کد بالا برابر با لیست زیر است.
['Hyundai', 'Ford', 'Mahindra', ['BMW', 'KTM', 'Yamaha']]
متد Extend
در فهرست زیر، چند مورد از نکات برجسته و منحصر به متد Extend را با نمایش مثالی ارائه کردهایم.
- هر کدام از عناصر شیء پیمایشپذیری که به متد extend()
ارسال میشوند، به صورت جداگانه به عنوان عنصری مجزا به لیست موجود اضافه خواهند شد.
- با هربار اعمال متد extend()
بر روی لیست، طول لیست به اندازه تعداد عناصر درون شیء پیمایشپذیر افزایش پیدا میکند.
- پیچیدگی زمانی اجزای عملیات extend()
برابر با O(n) است. در این فرمول n برابر با طول شیء پیمایشپذیری است که به عنوان آرگومان به متد extend()
ارسال شده.
مثالی از عملکرد متد extend()
را در کادر زیر، کدنویسی کردهایم.
1#example of extend() function in python
2
3car = ['Hyundai', 'Ford', 'Mahindra']
4bike = ['BMW', 'KTM', 'Yamaha']
5car.extend (bike)
6car
خروجی حاصل از اجرای کد بالا برابر با لیست زیر است.
['Hyundai', 'Ford', 'Mahindra', 'BMW', 'KTM', 'Yamaha']
یادگیری پایتون همراه با اجرای پروژه های کاربردی
برای نهادینه کردن آموختههایی که در طی فرایند آموزش برنامهنویسی با زبان پایتون فرا گرفتهایم. بهترین روش، تمرین با اجرای پروژههای مربوط به دنیای واقعی است. حداقل باید بر روی پروژههایی کار کنیم که نسبت به پروژههای واقعی نزدیک و ملموس هستند.
زبان برنامهنویسی پایتون به عنوان یک زبان سطح بالا تقریبا در اکثر حوزههای تولید نرم افزار قابل استفاده است. به همین ترتیب پروژههای متنوعی نیز برای این زبان برنامهنویسی قابل تعریف و پیادهسازی است. در این بخش چند مورد از فیلمهای آموزشی فرادرس را در ارتباط با یادگیری و تمرین پایتون به صورت پروژه محور معرفی کردهایم. با بررسی این پروژهها و معرفی دورهها میتوانید بهترین فیلم آموزشی را متناسب با علاقه و رشته تخصصی خودتان پیدا کنید.
برای دیدن فیلمهای آموزشی بیشتر فرادرس به صورت پروژهمحور، چه در زبان برنامهنویسی پایتون و چه در سایر زبانهای برنامه نویسی، با کلیک روی عکس بالا میتوانید به طور مستقیم به صفحه مجموعه آموزشهای پروژهمحور برنامهنویسی فرادرس منتقل شوید.
جمع بندی
لیستها یکی از مهمترین ساختارهای ذخیره داده پیمایشپذیر در پایتون هستند. برای حرفهای شدن در پایتون باید به کار با لیستها تسلط پیدا کنیم. برای کار با لیستها در پایتون نیز لازم است که با انواع متدهای مخصوص لیستها آشنا شویم. یکی متدهای مهم در زمینه کار با لیستها متد Append است. متد Append، یکی از متدهای لیست در پایتون است که به صورت درونی در زبان برنامهنویسی پایتون تعبیه شدهاند. این متد برای اضافه کردن عناصر به انتهای لیست به کار میرود.
در این مطلب از مجله فرادرس به بررسی متد Append پرداختهایم. در ابتدا درباره خود متد صحبت کرده و سپس روش استفاده از این متد را با استفاده از انواع دیگری از ساختارهای ذخیره داده مانند آرایه و دیکشنری نمایش دادیم. همچنین دیدیم که چگونه با کمک این متد میتوانیم لیستهای تودرتو ایجاد کنیم.
source