در این سری از مجموعه مقالات آموزش پایتون، قصد داریم لیست در پایتون و ترفندهای کاربردی پایتون در لیستها را آموزش دهیم. فرض کنید قرار است در پروژهای در پایتون دادهها و اطلاعات زیادی را ذخیره کنید. در این حالت اگر برای هر داده متغیرهای مختلفی را ایجاد کنید و اطلاعات مورد نظر را در آنها ذخیره کنید، زمان زیادی از شما میگیرد. در این حالت استفاده از «لیست» در پایتون میتواند کمک زیادی به شما کند.
ایجاد لیست
برای تعریف یک لیست در پایتون، ابتدا یک اسم برای آن انتخاب میکنیم و سپس اطلاعات مورد نظر را داخل دو براکت روبه روی آن وارد میکنیم.
به لیستهای ارائه شده در مثال بالا توجه کنید.
لیست اول که با اسم number مشخص شده است، دارای تعدادی داده عددی است. لیست دوم که با نام names مشخص شده است، دارای تعدادی داده استریم است و لیست سوم که با عنوان stuff مشخص شده است، به صورت ترکیبی دارای تعدادی داده اینتیجر و استریم است.
برای نمایش دادن هر کدام از این لیستها فقط کافی است از دستور print استفاده کنیم. برای مثال با نوشتن کد print(stuff) لیست stuff به صورت زیر داخل کنسول برای ما نمایش داده میشود.
حال فرض کنید که به دنبال نمایش دادهای خاص در لیست هستیم.
نکته: هر داده در لیست، با اندیس آن شناخته میشود. اندیس دادهها در لیست پایتون از صفر (0) شروع میشود.
برای مثال در لیست stuff، عدد 1 دارای اندیس صفر، عدد 7 دارای اندیس 1، mahdi دارای اندیس 2 و red دارای اندیس 3 است.
برای نمایش دادهای خاص از لیست، برای مثال mahdi از لیست stuff باید به اندیس آن اشاره کنیم. به کد زیر توجه کنید:
با اجرای کد بالا، کلمه mahdi در کنسول نمایش داده میشود.
در صورتی که بخواهیم آخرین داده لیست برای ما نمایش داده شود، میتوانیم از کد زیر استفاده کنیم و به جای اندیس آن (1-) بگذاریم.
در این حالت آخرین داده لیست که کلمه Film است برای ما در کنسول نمایش داده میشود.
برش لیست در پایتون
در حالتی که بخوایم تعدادی از دادههای یک لیست با نقطه شروع و پایان مشخص را نمایش دهیم، و یا به عبارتی لیست را برش دهیم و بخشی از آن را جدا کنیم، از دستور زیر استفاده میکنیم.
در کد فوق، اعداد 2 و 4، اندیسهای نقطه شروع و پایان لیست هستند. دستور فوق شامل دادههای با اندیس 2 و 3 است و داده با اندیس 4 را شامل نمیشود.
در صورتی که بخواهیم از یک داده با اندیس خاص شروع کرده و تا پایان دادههای لیست را به شما نمایش بدهد، فقط کافی است نقطه پایان در کد را حذف کنیم.
در این حالت از داده با اندیس 2، که دادهی سوم ما در لیست است، شروع کرده و تا آخرین داده را به ما نمایش میدهد.
برعکس این عمل نیز صادق است و میتوان با حذف کردن نقطه شروع در کد، از ابتدای لیست تا اندیس خاصی را خروجی گرفت. به مثال زیر توجه کنید:
در این حالت خروجی شما شامل دادههای با اندیس 0، 1 و 2 است. فراموش نکنید که نقطه پایانی بازه که 3 است، شامل داده با اندیس 3 نمیشود.
تغییر دادههای لیست در پایتون
در صورتی که بخواهیم داده خاصی از لیست را تغییر دهیم، به صورت زیر این کار را انجام میدهیم:
در کد بالا میبینید که ابتدا نام لیست را نوشته و سپس اندیس داده مورد نظر را جلوی آن در براکت قرار دادهایم. سپس علامت مساوی و پس از آن داده جایگزین را مینویسیم. در اینجا قصد داریم داده با اندیس 2 «mahdi» را با اسم «arezoo» جایگزین کنیم.
پس از اجرا و خروجی گرفتن از لیست، نتیجه به صورت زیر در کنسول نمایش داده میشود:
توابع و متدهای لیست در پایتون
1- extend
یکی از توابع مهم لیست در پایتون است که با کمک آن دو لیست را به هم متصل میکنیم.
به مثال زیر توجه کنید.
در اینجا لیست names را به لیست numbers میچسبانیم. در این حالت عملا لیست numbers تغییر میکند و تعداد دادههای آن به اندازه لیست names زیاد میشود.
خروجی این کد به صورت زیر است:
2- تابع append
در صورتی که بخواهیم دادهای خاص به انتهای لیست ما اضافه شود، از تابع appends استفاده میکنیم.
نحوه اجرای کد به صورت زیر است:
در این کد ما عدد 99 را به انتهای لیست numbers اضافه کردهایم که خروجی به صورت زیر نمایش داده میشود:
3- insert
در صورتی که بخواهیم یک داده در جایگاه خاصی از لیست ما قرار بگیرد، از تابع insert استفاده میکنیم. در این حالت میتوان داده را در هر جایگاهی از لیست وارد کرد.
به مثال زیر توجه کنید:
داخل پرانتز جلوی تابع insert، دو عدد 3 و 777 دیده میشود. عدد اول که 3 است، نمایانگر اندیس جایگاهی از لیست است که میخواهیم عدد 777 را در آن قرار دهیم. البته توجه داشته باشید که این حالت با کد
numbers[3]=777
که قبلاً توضیح دادیم متفاوت است.
در این حالت داده 777 جایگزین داده با اندیس سوم میشود ولی در حالتی که از تابع insert استفاده میکنیم، داده مورد نظر ما به لیست اضافه میشود و دادههای بعد از آن از نظر اندیس یک عدد اضافه میشوند. خروجی کد insert به صورت زیر است:
همانطور که میبینید، داده 777 در محل داده با اندیس 3 قرار گرفته است و بقیهی دادهها نیز یک اندیس به جلو شیفت داده شدهاند.
4- remove
تابعی است که برای حذف دادهای خاص از لیست مورد استفاده میشود.
در کد فوق، با استفاده از دستور remove، داده ali را از لیست names حذف کردیم و خروجی به صورت زیر در کنسول نمایش داده میشود.
5- clear
تابع clear همه دادههای یک لیست را پاک میکند.
خروجی کد بالا، یک لیست خالی به صورت زیر خواهد بود.
6- index
در صورتی که لیست ما دارای تعداد زیادی داده باشد و بخواهیم اندیس دادهای خاص را به دست آوریم، از تابع index به صورت زیر استفاده میکنیم.
خروجی کد بالا به صورت زیر است:
همانطور که میبینیم اندیس داده «mahdi» را به درستی به ما نمایش داده است.
تبدیل ورودی به لیست در پایتون
یکی از مهمترین کاربردهایی لیست در پایتون، مرتب کردن دادههای ورودی است. در این قسمت میخواهیم نحوه تبدیل ورودی به لیست در پایتون را بررسی کنیم.
برای تبدیل ورودی به لیست در پایتون دو روش مختلف وجود دارد.
روش اول تبدیل ورودی به لیست در پایتون
در این روش ابتدا از کاربر خواسته میشود که دادهها را وارد کند و سپس با کمک تابع split دادههای وارد شده را تبدیل به لیست میکنیم.
در نظر داشته باشید که ملاک تابع split برای تشخیص دادههای مجزا، فاصله بین آنها است. یعنی کاربر باید بین هر ورودی با ورودی بعدی یکبار دکمه space را بزند.
در مرحله اول اجرا در کنسول نتیجه زیر نمایش داده میشود:
سپس دادهها را با یک فاصله در کنسول وارد کرد و enter را میزنیم.
کاربر اعداد 1 تا 10 را به صورت نامنظم وارد کرده و سپس enter را میزند و در نتیجه خروجی فوق به دست میآید.
روش دوم تبدیل ورودی به لیست در پایتون
ابتدا یک لیست خالی با اندازهای مشخص میسازیم. اندازهی لیست توسط کاربر تعیین میشود و از کاربر میخواهیم تعداد دادههای لیست را مشخص کند. سپس با کمک تابع range یکی یکی اعداد را از کاربر دریافت کرده، با تابع int به عدد صحیح تبدیل کرده و وارد لیست اولیه میکنیم.
خروجی کد فوق به صورت زیر است:
جمع اعداد لیست در پایتون
برای جمع اعداد لیست در پایتون، از تابع sum استفاده میکنیم:
لیست numbers دارای اعداد 1 تا 10 است که صورت نامرتب در لیست قرار گرفتهاند. مجموع اعداد 1 تا 10 برابر 55 است که خروجی زیر به صورت صحیح آن را نشان میدهد.
مرتب کردن لیست در پایتون
برای مرتب کردن لیست در پایتون از تابع sort استفاده میکنیم. این تابع اگر متغیرها عدد باشند آنها را از کوچک به بزرگ و اگر حروف و متن باشند، آنها را بر اساس حروف الفبا مرتب میکند.
خروجی کد فوق به صورت زیر است که در آن لیست numbers است که از کوچک به بزرگ مرتب شده است.
مقایسه دو لیست در پایتون
در مقایسه دو لیست در پایتون، دادههای لیست با هم مقایسه میشوند. روشهای متفاوتی برای مقایسه دو لیست در پایتون وجود دارد که در اینجا تابع sort و عملگر == با هم استفاده میشوند.
ابتدا با کمک تابع sort دادههای دو لیست مرتب میشوند، و سپس با کمک عملگر == با هم مقایسه میشوند.
همانطور که میبینید لیستهای L1 و L3 با هم برابر هستند و فقط ترتیب دادهها متفاوت است ولی لیستهای L1 و L2 در تعداد دادهها با هم تفاوت دارند. در نتیجه اجرای کد فوق، خروجی زیر را به ما خواهد داد:
پیمایش لیست در پایتون
برای پیمایش لیست در پایتون میتوان از دستور for استفاده کرد. روش اجرای کد به این صورت است که اندیس دادههای لیست را تغییر داده و در هر بار تغییر، به داده مورد نظر دسترسی مییابیم.
در کد فوق خواسته شده است که دادههای با اندیس 0، 1 و 2 از لیست names نمایش داده شوند و خروجی کد به صورت زیر است.
نمونه سوال لیست در پایتون
سوال 1: کدی بنویسید که برابر بودن دو مجموعه با هم را بررسی کند:
جواب:
سوال 2: کدی بنویسید که دادههای موجود در دو لیست را به صورت تک به تک با هم مقایسه کند.
جواب:
آموزش دورههای بیشتر در پایتون
مواردی که در این مقاله آموزشی ذکر شد، تنها نکاتی از دوره مقدماتی پایتون است و برای آموزشهای پیشرفتهتر و بررسی بیشتر فریم ورکهای پایتون حتماً دیگر مقالات سایت را بررسی کنید. برای تسلط به پایتون باید با کتابخانههای پایتون آشنایی کامل داشته باشید و بتوانید آنها را به درستی در کدنویسی مورد استفاده قرار دهید.
در نظر داشته باشید که پایتون یک زبان برنامه نویسی پرکاربرد است و در صورت تسلط به آن میتوانید شانس استخدام در انواع شغلهای برنامه نویسی را داشته باشید.
سخن پایانی
در این مقاله تلاش کردیم تا شما را با آموزش مقدماتی لیست در پیاتون آشنا کنیم امیداریم که از این مقاله بهره کامل را برده باشید.
منابع:
دیدگاه ها
0 دیدگاه