مقدمه

این فصل و فصل بعد به معرفی و بررسی لیست‌های پایتون اختصاص دارند. یک لیست، مجموعه یا کالکشنی از آیتم‌هاست که در یک جا ذخیره می‌شوند. تعداد آیتم‌های یک لیست می‌تواند از چند تا حتی چند میلیون باشد. لیست‌ها یک ویژگی قدرتمند از پایتون محسوب می‌شوند و تسلط در کار با آنها اهمیت زیادی دارد. در این درس، یک معرفی مقدماتی از لیست‌های پایتون، نحوه‌ی ایجاد یک لیست و روش دسترسی به آیتم‌های لیست ارائه می‌شود و در دو درس بعدی این فصل و همینطور فصل بعدی مطالب تکمیلی در ارتباط با لیست‌ها بیان خواهد شد.

لیست چیست؟

یک لیست در پایتون یک کالکشن ترتیبی (ordered collection) از آیتم‌هاست. مقصود از ترتیبی بودن یک لیست این است که ترتیب قرارگیری عناصر، مهم است و لیست‌ها از این نظر با مجموعه‌ها (set) متفاوت هستند. یک لیست می‌تواند شامل هر نوع آیتمی باشد؛ مثلاً می‌توانیم لیستی از اعداد یک رقمی، لیستی از حروف الفبا یا لیستی شامل نام اعضای خانواده داشته باشیم.

باتوجه به اینکه یک لیست معمولاً شامل بیش از یک عنصر است، بهتر است از اسامی جمع برای نامگذاری لیست‌ها استفاده کنیم.

در پایتون برای ایجاد یک لیست از کاراکترهای براکت [ ] استفاده می‌شود و آیتم‌های لیست با کاما از هم جدا می‌شوند. برای مثال، لیست زیر شامل نام چند کشور است. فایلی با نام python_lists.py ایجاد کنید و کد زیر را در آن وارد کنید.

Copy Icon python_lists.py
countries = ['england', 'spain', 'italy', 'germany'] 
print(countries)

با اجرای این مثال، متوجه خواهید شد که وقتی از پایتون بخواهیم یک لیست را چاپ کند، همه‌ی آیتم‌های لیست را به همراه براکت‌ها چاپ خواهد کرد.

['england', 'spain', 'italy', 'germany']

اما در ادامه خواهیم دید که چطور می‌توانیم به آیتم‌های یک لیست به صورت مجزا از هم دسترسی داشته باشیم.

دسترسی به عناصر لیست

گفتیم که لیست‌ها کالکشن‌های ترتیبی هستند و هر عنصر یا آیتم لیست، مکان مشخصی دارد. از روی همین مکان یا اندیس (index) می‌توانیم به هر یک از عناصر لیست دسترسی داشته باشیم. مثال زیر را ببینید.

Copy Icon python_lists.py
countries = ['england', 'spain', 'italy', 'germany'] 
print(countries[0])

در نتیجه‌ی اجرای این کد، اولین عنصر لیست که دارای اندیس صفر است، نمایش داده می‌شود.

england

مثال ساده‌ی بالا یک ویژگی مهم لیست‌های پایتون را نشان می‌دهد و آن این است که در پایتون (مثل اکثر زبان‌های دیگر) اندیس‌گذاری عناصر لیست از صفر شروع می‌شود نه از یک. بنابراین، عنصر اول دارای اندیس صفر، عنصر دوم دارای اندیس 1 و به طور کلی عنصر n-ام دارای اندیس n-1 است.

در مثال بالا اگر بخواهیم به آخرین عنصر لیست دسترسی داشته باشیم، از countries[3] استفاده می‌کنیم، چون این عنصر چهارمین عنصر لیست و بنابراین دارای اندیس 3 است. اما خیلی اوقات ما قصد داریم از آخرین عنصر لیستی استفاده کنیم که طول یا تعداد آیتم‌هایش را نمی‌دانیم. در این صورت، می‌توانیم از اندیس‌گذاری منفی استفاده کنیم. در پایتون، اندیس -1 به آخرین عنصر تعلق دارد، اندیس -2 به دومین عنصر از آخر متعلق است و به طور کلی اندیس -n به n-امین عنصر از آخر تعلق دارد.

Copy Icon python_lists.py
countries = ['england', 'spain', 'italy', 'germany'] 
print(countries[-1])
print(countries[-3])

نتیجه‌ی اجرای کد بالا به صورت زیر خواهد بود:

germany
spain

استفاده از آیتم‌های لیست

وقتی ما با استفاده از اندیس یک عنصر لیست به آن عنصر دسترسی پیدا کنیم، می‌توانیم با آن عنصر مثل یک مقدار مجزا رفتار کنیم؛ چون این عنصر یک نوع داده‌ای دارد و به متدها و سایر اعضای آن نوع دسترسی دارد.

Copy Icon python_lists.py
countries = ['england', 'spain', 'italy', 'germany'] 
message = f"David Beckham is from {countries[0].title()}." 
print(message)

در این مثال countries[0] یک رشته (string) است و بنابراین، می‌توانیم از متدهای مربوط به رشته‌ها که در فصل دوم تعدادی از آنها را معرفی کردیم، روی این مقدار استفاده کنیم. نتیجه‌ی اجرای این کد به صورت زیر خواهد بود.

David Beckham is from England.