نوع داده لیست (list) در پایتون

از لیست ها برای ذخیره چندین داده در یک متغییر استفاده می شود و برای تعداد داده در آن یا به عبارتی طول لیست ها هیچ محدودیتی وجود ندارد. معمولا از لیست برای تولید توالی از عناصر همگن استفاده می شود، لیست ها با قرار دادن داده ها در داخل کروشه [ ] به صورتی که هر داده با کاما ( , ) از هم جدا شده به شکل زیر تعریف می شوند:
شکل کلی تعریف لیست در پایتون
برای مثال لیستی از اسامی میوه ها به صورت زیر تعریف می شود :
لیست ها می توانند از هر نوع داده ای باشند، برای مثال چند نوع داده نمونه به شکل زیر تعریف می شوند:
لیست ها می توانند خالی و بدون مقدار باشند :
لیست ها می توانند ترکیبی از چندین داده باشند :
داده ها یا عناصر یک لیست می توانند خود یک لیست باشند که به این حالت لیست تو در تو می گویند.
لیست ها می توانند شامل داده ها یا عناصر تکرار باشند:
نکته : یک روش دیگر برای تولید لیست ها وجود دارد که آن با استفاده از تبدیل نوع (cast) کردن داده است که البته این روش خیلی مرسوم هم نیست .
دسترسی به عناصر لیست
به صورت کلی به دو روش می توان به عناصر یک لیست دسترسی داشت که در تصویر زیر قابل مشاهده است :

همانطور که در تصویر بالا مشاهده می کنید به دو روش می توان به عناصر یک لیست دسترسی داشت:
اولین روش :
اندیس گذاری نرمال که از 0 شروع می شود که اندیس 0 به اولین عنصر لیست اشاره می کند، و این اندیس ها به ترتیب تا آخرین عنصر لیست یک واحد یک واحد به جلو افزایش پیدا می کنند، که در مثال فوق طول لیست ما 7 است پس آخرین عنصر این ایست اندیس 6 را خواهد داشت.
دومین روش :
اندیس گذاری معکوس می باشد، این روش به این شکل عمل می کند که آخرین عنصر لیست با اندیس -1 شماره گذاری شده و هر چه به سمت ابتدای لیست حرکت می کنیم اندیس ها یک واحد یک واحد کوچک می شوند به شکلی که اولین عنصر یک لیست با طول 7 با اندیس -7 شماره گذاری می شود. به مثال های زیر برای درک بهتر دسترسی به عناصر یک لیست توجه کنید :
برای دسترسی یه عناصر لیست های تو در تو می توان با دسترسی تو در تو به شکل زیر عمل کرد:
نکته: شماره اندیس های یک لیست همیشه یک عدد صحیح می باشد و نمی توان به صورت اعشاری به آن اشاره کرد به عنوان مثال :
حال با یک مثال نحوی دسترسی به عناصر لیست با کمک نمایه گذاری معکوس را بررسی خواهیم کرد :
برش از لیست ها
ما می توانیم بخشی از عناصر لیست را انتخاب و به آن ها دسترسی پیدا کنیم به مثال های زیر توجه کنید :
تغییر عناصر لیست
یکی از قابلیت هایی که لیست ها دارند قابلیت تغییر عناصر لیست پس از تعریف می باشد :
تابع ( )append
این تابع برای اضافه کردن یک عنصر به لیست کاربرد دارد:
تابع ( )extend
این تابع برای اضافه کردن یک لیست به انتهای یک لیست دیگر کاربرد دارد:
حذف عناصر لیست
برای حذف کردن کل یا بخشی از عناصر یک لیست از دستور del استفاده می شود :
حذف یک عنصر خاص در لیست
برای حذف یک مقدار دلخواه در لیست می توان از دستور ( )remove به شکل زیر استفاده کرد :
اگر بخواهیم یک عنصر از لیست را بر اساس شماره ایندکس یا اندیس آن حذف کنیم از تابع ( )pop استفاده می کنیم، به این شکل که شماره اندیس را به عنوان ورودی به تابع pop می دهیم و این تابع آن خانه از لیست را که اندیس به آن اشاره می کند حذف می کند، در صورتی که شماره اندیس را مشخص نکید تابع به صورت پیش فرض آخرین عنصر لیست را حذف می کند که در این شکل می توان یک لیست را به صورت پشته (اولین ورودی، اخرین خروجی FILO) تعریف کرد :
استفاده از لیست به عنوان پشته (Stack) به شکل زیر می باشد :
لیست ها بخاطر سرعت مناسب در pop کردن آخرین عنصر برای پشته (stack) مناسب هستند ولی برای صف (queue) به دلیل نیاز به سرعت مناسب در حذف اولین عنصر مناسب نیستند، زیرا لیست ها برای حذف اولین عنصر نیاز به زمان بیشتری نسبت به حذف اولین عنصر دارند. ولی برای ساخت یک صف (queue) با سرعت مناسب توان با import کردن collections و استفاده از تابع deque یک صف با سرعت بالا رو به شکل زیر تولید کرد.
در صورتی که لازم باشد تمام عناصر یک لیست را به یکباره حذف کنیم و لیست را خالی کنیم می توانیم از تابع ( )clear استفاده کنیم :
یک روش خلاقانه دیگر برای حذف عناصر لیست ها انتصاب یک لیست خالی به آن بخش از لیست که قصد حذف آن را دارید می باشد :
برخی متد های پر کاربرد برای لیست ها

به مثال هایی از نحوه استفاده از این متد ها توجه فرمایید:
حال به چند مثال جذاب برای تولید لیست خواهیم پرداخت، برای اولین مثال می خواهیم یک لیست از توالی 10 تایی از توان های 2 عدد دو را تولید کنیم :
کد بالا معادل با کد زیر می باشد :
مثال دیگر از کاربرد های لیست استفاده از if و for در تعریف یک لیست می باشد، به مثال زیر توجه فرماید:
برای بررسی وجود یا عدم وجود یک عنصر در بین عناصر یک لیست می توان از in به شکل مثال زیر استفاده کرد:
از لیست ها همچنین می توان در حلقه های تکرار به عنوان شمارنده استفاده کرد به مثال زیر در این باره توجه فرمایید :
با نکات بیان شده و مثال های استفاده شده در این مقاله سعی داشتم تا شما عزیزان را با نوع داده لیست بیشتر آشنا کنم، و امیدوارم مفید بوده باشه. در مقالات بعدی به بررسی انواع داده دیگر در پایتون می پردازم.
دیدگاهتان را بنویسید