در اين شماره به ادامه معرفي انواع دادهها در زبان برنامه نويسی پايتون پرداخته ميشود. «ليستها» نوع ديگری از ساختار دادهها هستند که کاربردهای زيادی در حوزههای مختلف پردازش داده، دارند.
ليستها سادهترين ساختار داده و يک توالي با ترتيبي از عناصر است. اين نوع داده دارای ويژگيهای خاصي هستند به همين دليل در بسياري از برنامهها از اين نوع داده استفاده ميشود. عناصر موجود در ليستها ميتوانند متنوع باشند به طوريکه علاوه بر اعداد از کاراکترها، رشتهها يا ساير انواع دادهها ميتوان در ليستها استفاده کرد. همچنين کاربر ميتواند عناصري به ليستها اضافه يا از آن کم کند. براي ايجاد ليستها از براکت به شکل [] استفاده ميشود و با استفاده از کاما (,) ميتوان عناصر ليستها را از هم جدا کرد. با استفاده از علامت براکت باز [ ليست آغاز ميشود و با علامت براکت بسته ] ليست به پايان ميرسد. دادههای ليست در يک متغير ذخيره ميشود و ميتوان عناصر موجود در ليست را فراخوانی و در يک متغير ديگر ذخيره کرد. همچنين ميتوان ليست يا ليستهای خالی نيز (بدون هيچ عنصري) ايجاد کرد و در ادامه برنامه از آن استفاده کرد. شکل 1، نحوه نمايش يک ليست را نشان ميدهد. همانطور که در اين شکل مشاهده ميکنيد متغير A ترکيبی از اعداد صحيح و اعشاری و متغير B شامل اعداد صحيح، اعشاری و رشته است که در کنار هم قرار گرفتهاند و با استفاده از دستور print قابل نمايش است.
شکل 1) نحوه تعريف ليست
چگونگی فراخوانی عناصر ليست
همانطور که پيشتر نيز گفته شد برای ايجاد ليست بايد از براکت استفاده کرد و هر عنصر موجود در ليست را با استفاده از کاما از هم جدا کرد. ليستها قابليت اضافه کردن عنصر يا حذف عنصر را نيز دارند. موضوعی که معمولاً در برنامه نويسی بسيار مورد استفاده قرار ميگيرد انتخاب برخي عناصر خاص در يک ليست است که ميتوان به کمک براکت و فراخواني جايگاه يا انديس عناصر در ليست، مقادير موجود در هر ليست را استخراج کرد. انديسها در هر ليست موقعيت عناصر را نشان ميدهند. نکتهای که حائز اهميت است انديس هر عنصر در ليست است که از مقدار صفر شروع ميشود به طوری که عنصر اول هر ليست داراي انديس صفر است و به ترتيب انديسها اضافه ميشوند. جهت دستيابی به هر عنصر از ليست، ميتوان با استفاده از انديس يا جايگاه آن عنصر در ليست و به کاربردن انديس در جلوی نام متغيري که برای ليست در نظر گرفته شده است، به عنصر مورد نظر دست يافت. شکل 2 نحوه فراخوانی يک عنصر در يک ليست که با متغير X ذخيره شده و داراي 5 عنصر است را نشان ميدهد. همان طور که مشاهده ميکنيد براي فراخوانی يک عنصر کافی است جايگاه يا انديس آن عنصر در ليست را در کنار متغير نام گذاری شده برای ليست آورد.
شکل 2) نحوه فراخوانی يک عنصر در يک ليست
نحوه استخراج عناصر از ليست
همان طور که در بخش قبل ذکر شد، براي استخراج يک عنصر از ليست ميتوان به انديس آن اشاره کرد. حال اگر بخواهيم تعدادي عنصر از ليست را فراخوانی کنيم ميتوان از نماد دو نقطه (:) استفاده کرد. نکتهای که حائز اهميت است مقدار انديسها در ليست بوده که عنصر اول هر ليست دارای انديس صفر است و به همين ترتيب افزايش پيدا ميکند. البته عناصر يک ليست ميتوانند انديس منفی هم داشته باشند. به طوري که عنصر آخر ليست داراي انديس -1 و همانطور که به سمت عنصر اول حرکت ميکنيم انديسها کاهش پيدا ميکنند. جدول 1 نحوه انديس گذاری عناصر يک ليست را به دو شيوه مثبت و منفی نشان ميدهد.
جدول 1) نحوه انديس گذاری عناصر يک ليست
نکتهاي که بايد مدنظر قرار داد اين است که اگر بخواهيد عناصر اول تا سوم درون ليست را انتخاب کنيد، بايد اولين انديس را صفر نوشته و بعد از نوشتن دو نقطه انديس دوم را 3 انتخاب کنيم زيرا پايتون در انتخاب عناصر هميشه يک عدد کمتر از انديس نهايی مشخص شده را انتخاب ميکند (صفر، يک و دو). شکل 3 نحوه استخراج عناصر مختلف يک ليست با استفاده از انديس مثبت را نشان ميدهد. همانطور که در اين شکل مشاهده ميشود ابتدا يک تعداد عناصر درون ليستی به نام X ذخيره ميشود. در ابتدا با نوشتن انديسهای صفر و يک، همان طور که در بالا اشاره شد فقط عنصر اول انتخاب ميشود و اگر بخواهيد دو عنصر اول انتخاب شوند بايد انديس نهايی را 2 قرار دهيد تا عناصر قرار گرفته شده در انديسهای 1 و 2 انتخاب شوند.
شکل 3) استخراج عناصر يک ليست با انديس مثبت
در صورتيکه بخواهيد از انديسهای منفی برای فراخوانی عناصر يک ليست استفاده کنيد کافي است با توجه به انديسهای ذکر شده در جدول 1 انديس گذاری مدنظر خود را جهت انتخاب عناصر دلخواه انجام دهيد. شکل 4 نحوه فراخوانی عناصر يک ليست با انديسهای مثبت و منفی را نشان میدهد که همانطور که مشخص است هيچ تفاوتی بين فراخوانی عناصر بين دو روش وجود ندارد.
شکل 4) نحوه فراخوانی عناصر يک ليست با انديسهای مثبت و منفی
در صورتي که بخواهيد کل عناصر ليست را انتخاب کنيد میتوانيد از علامت دو نقطه درون براکت کمک بگيريد. چنانچه بخواهيد عناصر يک ليست از يک انديس خاص را تا انتهای ليست جدا کنيد کافی است عدد ابتدايی درون براکت شماره انديس عنصر مورد نظر و سپس دو نقطه را وارد کنيد. در صورتيکه بخواهيد عناصر يک ليست از ابتدا تا يک انديس خاص را جدا کنيد کافي است پس از دو نقطه شماره انديس عنصر مورد نظر بعلاوه يک را وارد کنيد. به طور مثال برای استخراج عناصر از ابتداي ليست تا انديس دوم (عنصر سوم ليست) بايد پس از دو نقطه عدد 3 را وارد کنيد. شکل 5 نحوه استخراج عناصر درون يک ليست از ابتدای ليست تا يک عنصر خاص يا از يک عنصر خاص تا انتهای ليست را نشان ميدهد.
شکل 5) نحوه فراخوانی عناصر يک ليست از ابتدا تا عنصر خاص يا از عنصر خاص تا انتهای ليست
دیدگاه ها