آشنایی با دیتا تایپ لیست در زبان برنامه نویسی پایتون

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
ما از لیست ها برای سازماندهی اطلاعات و دسترسی و تغییر سریع تر آن ها استفاده می کنیم. برای مثال لیستی از اسامی دانش آموزان یک کلاس را در نظر بگیرید که به ترتیب حروف الفبا مرتب شده اند. با استفاده از چنین لیستی، دسترسی به اطلاعات دانش آموزان کلاس و تغییر یا به روزرسانی آن ها راحت تر خواهد شد. نمونه ای دیگر از کاربرد لیست ها در دنیای واقعی، لیست های خرید است تا در زمان خرید با استفاده از یک چک لیست ساده بدانیم کدام یک از کالاهای مورد نیاز خود را خریداری کرده ایم و کدام یک از اقلام داخل لیست باقی مانده اند.

همان طور که می بینید کاربرد لیست ها در زندگی روزمره بسیار زیاد است و ما می توانیم بی نهایت مثال در این جا بیاوریم که برای ذخیره ی داده ها و دسترسی و تغییر آسان آن ها از لیست ها استفاده می کنیم؛ بنابراین با توجه به این کاربرد گسترده، طراحان زبان برنامه نویسی پایتون نیز مفهوم لیست را در قالب آبجکتی از نوع List وارد این زبان برنامه نویسی کرده اند تا برنامه نویسان بتوانند از مزایای استفاده از لیست ها در زمان کدنویسی برنامه ها هم بهره مند شوند. در این آموزش با نحوه ی ایجاد آبجکت هایی از نوع لیست و دسترسی به اطلاعات درون لیست ها و مدیریت اطلاعات آن ها آشنا خواهیم شد.

در زبان پایتون لیست ها به عنوان نوعی از دنباله تعریف می شوند. اگر به خاطر داشته باشید قبلاً در مورد دنباله ها مطالبی را بیان کردیم و گفتیم آبجکت هایی از جنس استرینگ هم از نوع دنباله هستند. دنباله ها را مانند زنجیره ای از اشیاء در نظر گرفتیم که در قالب شیئی از نوع دنباله به هم متصل شده اند، اما می توانیم به هر یک از اشیاء این زنجیره ی به هم پیوسته دسترسی داشته باشیم. برای مثال می توانیم به تک تک حروف یک دنباله ی استرینگی دسترسی داشته باشیم و یا می توانیم حروف اول و آخر آن را در خروجی چاپ کنیم. پیش از این هم گفتیم که دنباله ها انواع زیادی دارند که با آن ها آشنا خواهیم شد؛ با این حال نوع داده ی لیست یکی از ملموس ترین و قابل فهم ترین دنباله ها برای برنامه نویسان است، چرا که همان طور که در ابتدا گفتیم در دنیای واقعی استفاده زیادی از لیست ها می کنیم.

در دنیای واقعی قبل از استفاده از لیست ها باید آن ها را ایجاد کنیم. در زمان کدنویسی برنامه ها هم برای استفاده از لیست ها ابتدا باید آن ها را برای مفسر پایتون تعریف کنیم. برای این کار از علامت کروشه [] استفاده می کنیم و آبجکت هایی که می خواهیم عضو لیست باشند را در میان این دو علامت می آوریم و با علامت کاما (,) از هم جدا می کنیم. برای مثال لیست های زیر را در نظر بگیرید:

>>> listA = [1, 2, 3, 4]
>>> listB = ["Spring", "Summer", "Autumn", "Winter"]
>>> listC = ["One", 2, "Three", 4, False]
>>> listD = [True, False]
>>> listE =[]
>>> listF = [listA, listB, [1,2,3]]
همان طور که از این مثال ها مشخص است تعداد اعضای لیست ها متفاوتند و می توانیم در هر لیست به تعداد دلخواه آبجکت قرار دهیم. کامپیوتر هر عضو لیست را در یک محل مجزا از حافظه ی خود قرار می دهد. فضای این حافظه بهم پیوسته است و هر زمان که آیتم جدیدی به لیست اضافه شود، آن آیتم در محل بعدی حافظه قرار می گیرد. کامپیوتر برای دسترسی به هر عضو یک اندیس را به حافظه ی آن نسبت می دهد. این اندیس ها از شماره ی صفر آغاز می شوند و به ترتیب یک واحد بزرگ تر می شوند. برای مثال در listA عضو اول که عدد صحیح 1 است اندیس 0، عضو دوم یا عدد صحیح 2 اندیس 1، عضو سوم یا عدد صحیح 3 اندیس 2، و در نهایت عضو آخر که عدد صحیح 4 است اندیس 3 می گیرد. بنابراین اندیسی که به آخرین عضو لیست داده می شود یک واحد کم تر از تعداد اعضای لیست است.

نکته ی بعدی که می توانیم در مورد اعضای لیست ها بگوییم از مثال سوم یعنی listC قابل دریافت است. همان طور که می بینید اعضای این لیست برخلاف دو لیست اول از نوع یکسانی نیستند؛ به عبارت دیگر در میان اعضای این لیست داده هایی از جنس استرینگ، عدد صحیح، و بولین می بینیم. این نکته در مورد تمام لیست ها صادق است و هر آبجکت از نوع لیست در زبان پایتون می تواند اعضایی از دیتا تایپ های مختلف داشته باشد.

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

>>> type(listE)
<class 'list'>
>>>
همان طور که در خروجی مشخص است این متغیر از کلاس list است. گفتیم که اعضای یک لیست می توانند انواع متفاوت و دلخواهی داشته باشند. برای نمونه در مثال listF می بینیم که تمام اعضای این لیست، خود یک لیست هستند؛ بنابراین از لیست ها می توان به صورت تودرتو نیز استفاده کرد.

در این آموزش با نحوه ی تعریف آبجکت هایی از نوع list در زبان برنامه نویسی پایتون آشنا شدیم. در آموزش های بعدی به نحوه ی دسترسی به اعضای لیست و مدیریت آن ها خواهیم پرداخت.
 

برخی موضوعات مشابه

بالا