لیست ها به طور حتم یکی از مهم ترین انواع داده در پایتون هستند و تقریبا همه جا کاربرد دارند. در این آموزش ویژگی های مهم لیست های پایتون را پوشش میدهیم. شما ایجاد کردن و تغییر لیست ها را یاد خواهید گرفت. همچنین یاد میگیرید که چطور عملیات های مختلف را روی لیست ها انجام دهید.
نوع داده list در پایتون
لیست در پایتون نوعی از داده است که میتواند همزمان چند آبجکت را در خود ذخیره کند. لیست پایتون مشابه آرایه در زبان های برنامه نویسی دیگر است اما با انعطاف پذیری بیشتر. لیست ها در پایتون با استفاده از یک جفت براکت [ ]
ایجاد میشوند. آبجکت هایی که در لیست ها ذخیره میشوند با نام آیتم(item) شناخته میشوند. list های پایتون برای کار با آبجکت های مشابه عالی هستند.
در مثال زیر یک لیست به نام a ایجاد کردیم و انواع آبجکت های مختلف را در آن ذخیره کردیم:
>>> a = [True, 'bar', 34, 'qux']
>>> a
[True, 'bar', 34, 'qux']
همچنین میتوانید در پایتون لیست های تودرتو نیز ایجاد کنید. برای ایجاد کردن لیست تودرتو در پایتون باید داخل براکت بیرونی، یک براکت دیگر ایجاد کنید:
cars = ['benz', 'bmw', ['audi', 'pride'], 'ford', 'tesla']
ویژگی لیست های پایتون
ویژگی های مهم لیست های پایتون به شرح زیر است:
- لیست های پایتون مرتب(ordered) هستند به این معنی که ترتیب ورود اطلاعات در آنها حفظ میشود.
- لیست ها میتوانند هر نوع آبجکتی را در خود ذخیره کنند.
- به آیتم های درون لیست میتوان با ایندکس دسترسی داشت.
- لیست های پایتون میتوانند تا عمق دلخواه تودرتو باشند.
- لیست ها تغییر پذیر هستند یعنی میتوان آیتم های آنها را تغییر داد.
- لیست ها پویا هستند به معنی که میتوان تعداد آیتم های آنها را کم یا زیاد کرد.
برای یادگیری حرفهایتر کار با لیستها پیشنهاد میکنیم ویدیو آموزش list comprehension در پایتون را ببینید.
دسترسی به آیتم های لیست در پایتون
چند روش وجود دارد که با آن میتوانید به اعضای یک لیست دسترسی پیدا کنید. تمام اعضای لیست دارای یک عدد هستند که موقعیت آنها را در لیست مشخص میکند. به این عدد ایندکس(index) گفته میشود. شماره گذاری ایندکس در لیست های پایتون از صفر شروع میشود، پس اولین آیتم لیست دارای ایندکس صفر است و اگر لیستی 7 عضو داشته باشد، ایندکس آخرین عضو آن 6 خواهد بود.
اگر ایندکسی را استفاده کنید که در لیست وجود ندارد با پیغام خطای IndexError مواجه خواهید شد. شماره ایندکسی که استفاده میکنید باید یک عدد(integer) باشد در غیر اینصورت با خطای TypeError مواجه خواهید شد.
فرض کنید که لیستی از اسامی خودروها را دارید و میخواهید با ایندکس به آیتم های آن دسترسی داشته باشید:
cars = ['benz', 'bmw', 'ford', 'tesla']
اگر برای دسترسی به آیتم های یک لیست از اعداد مثبت استفاده کنید شمارش از ابتدای لیست شروع میشود:
>>> cars[0]
benz
>>> cars[3]
tesla
اما اگر از اعدا منفی استفاده کنید شمارش از آخر لیست شروع میشود. در این صورت عدد 1- به آخرین آیتم لیست اشاره میکند، عدد 2- به آیتم یکی مانده به آخر و تا آیتم اول:
>>> cars[0]
tesla
>>> cars[3]
ford
در تصویر پایین، نحوه دسترسی به آیتم های لیست با اعداد منفی مشخص شده است:
اگر لیستی که دارید تودرتو است باید از دو ایندکس استفاده کنید:
>>> cars = ['benz', 'bmw', ['audi', 'pride'], 'ford', 'tesla']
>>> cars[2][1]
pride
برش لیست در پایتون
در پایتون میتوانید از تکنیک برش یا slicing برای دسترسی به یک محدوده خاص از لیست ها استفاده کنید. برای برش زدن لیست ها هم از شماره ایندکس استفاده میشود. میتوانید با علامت دو نقطه :
محدوده خاصی را مشخص کنید:
>>> cars = ['benz', 'bmw','ford', 'tesla', 'audi', 'ferrari']
>>> cars[1:3]
['bmw', 'ford']
همانطور که در مثال بالا میبینید، با یک دو نقطه یک لیست را برش زدیم. عدد اول شروع محدوده و عدد دوم انتهای محدوده را مشخص میکند. دقت کنید که عدد دوم خودش شامل نیست.
در زمان برش زدن یک لیست، اگر عددی ارسال نکنید تمام لیست را شامل میشود:
>>> cars[:]
['benz', 'bmw','ford', 'tesla', 'audi', 'ferrari']
اگر عدد اول را خالی قرار دهید از ابتدای لیست برش را انجام میدهد. دقت کنید که باز هم عدد دوم خودش شامل نمیشود:
>>> cars[:3]
['benz', 'bmw', 'ford']
اگر عدد دوم را خالی بگذارید تا آخر لیست را برش میدهد:
>>> cars[3:]
['tesla', 'audi', 'ferrari']
همچنین، میتوانید برای برش لیست در پایتون از اعداد منفی هم استفاده کنید که در اینصورت برش از آخر لیست انجام خواهد شد:
>>> cars[-5:-3]
['bmw', 'ford']
تغییر لیست در پایتون
لیست های پایتون برخلاف رشته ها و تاپل ها تغییر پذیر(mutable) هستند به این معنی که میتوان آیتم های آنها را تغییر داد. اگر بخواهید مقدار یکی از ایندکس های لیست را تغییر دهید باید از علامت مساوی =
استفاده کنید:
>>> cars = ['benz', 'bmw','ford', 'tesla']
>>> cars[1] = 'ferrari'
>>> cars
['benz', 'ferrari', 'ford', 'tesla']
همچنین میتوانید یک محدوده از لیست را تغییر دهید که در این صورت ابتدا باید لیست را برش دهید و سپس مقادیر جدید را جایگزین کنید:
>>> cars = ['benz', 'bmw','ford', 'tesla', 'audi', 'ferrari']
>>> cars[1:3] = ['honda', 'toyota']
>>> cars
['benz', 'honda', 'toyota', 'tesla', 'audi', 'ferrari']
دریافت طول یک list در پایتون
تابع داخلی len پایتون میتواند تعداد آیتم های یک لیست را برگرداند. تابع len فقط محدود به لیست ها نبوده و میتوانید از آن روی بقیه آبجکت های مانند تاپل، رشته یا آرایه استفاده کنید:
>>> cars = ['benz', 'bmw','ford', 'tesla', 'audi', 'ferrari']
>>> len(cars)
6
برای یادگیری متدهایی که در لیستها در دسترس هستند میتوانید ویدیو آموزش متدهای مربوط به لیستها در پایتون را ببینید.
ارسال نظر