نوع داده لیست در پایتون
در پایتون، ۶ نوع داده (Data Type) با نامهای عدد (number)، لیست (list)، تاپل (Tuple)، رشته (String)، مجموعه (Set) و دیکشنری (Dictionary) وجود دارد. در این آموزش به نوع داده لیست خواهیم پرداخت.
نوع داده لیست در پایتون
در زبان برنامهنویسی پایتون، نوع داده “لیست” که یک داده ساختار Built-in است، با قرار دادن همه آیتمها درون یک براکت یعنی [ ]، ساخته میشود. عناصر یک لیست، با استفاده از علامت ویرگول، از هم جدا میشوند. لیست میتواند هر تعدادی عنصر داشته باشد و این عناصر ممکن است خود دارای انواع داده متفاوتی باشند. لیست ها همچنین منظم و قابل تغییر می باشند.
برای مثال، عناصر یک لیست ممکن است ترکیبی از نوع داده integer، float و یا String باشند. در زیر نمونه هایی از انواع لیست را مشاهده می نمایید:
list1 = [1, 5, 9, 12, 15, 18]
list2 = [1, “Py”, 7.3]
list3 = [7, [5.2, 6.6, 4.5], 99]
روش دسترسی داشتن به عناصر یک لیست
راهکارهای مختلفی برای دسترسی به عناصر یک لیست وجود دارد. در ادامه، هر یک از این موارد تشریح شدهاند.
اندیس لیست
میتوان از عملگر «اندیس»، برای دسترسی داشتن به یک عنصر از لیست، استفاده کرد. اندیس لیستها در پایتون از عدد ۰ شروع میشود. بنابراین، برای لیستی که حاوی ۶ عنصر است، اندیس لیست از ۰ تا ۵ است. برای مثال اگر بخواهیم از list2 که در بالا تعریف شده عنصر سوم یعنی ۷.۳ را فراخوانی کنیم باید بنویسیم:
print(list2[2])
در مثالی دیگر اگر بخواهیم عنصر ۴.۵ را از list3 فراخوانی نماییم باید از اندیس دهی تودرتو استفاده کنیم که می شود:
print(list3[1][2])
اندیسدهی منفی
پایتون، امکان اندیسدهی منفی برای یک توالی را نیز فراهم می کند. اندیس ۱- به آخرین عنصر از لیست و ۲- به عنصر یکی مانده به آخر اشاره دارد و به همین ترتیب میتوان با اندیسدهی منفی، عناصر لیست را از آخر به اول فراخوانی کرد. در list2 اگر بخواهیم عنصر py را فراخوان نماییم باید بنویسیم:
print(list2[-2])
دسترسی به چند عنصر
میتوان به طیف وسیعی از عناصر لیست با استفاده از عملگر دونقطه (colon) دسترسی داشت. برای مثال در list1 اگر بخواهیم از عنصر ۳ تا ۵ را فراخوان کنیم باید بنویسیم:
print(list1[2:4]
انجام عملیات بر روی لیست
همانطور که در بالا گفته شد نوع داده لیست در پایتون، قابل تغییر می باشد. عملیات هایی مانند اضافه کردن عناصر یا حذف آنها از لیست، که در ادامه تعدادی از آنها را با مثال شرح می دهیم.
list1 = [1, 5, 9, 12, 15]
list1[0] = [6]
# output = [6, 5, 9, 12, 15]
در بالا با استفاده از اندیس ۰ و عملگر = اقدام به تغییر عنصر اول list1 نموده ایم.
list1 = [1, 5, 9, 12, 15]
list1.append(8)
# output = [1, 5, 9, 12, 15, 8]
با استفاده از متد append می توان یک عنصر را به انتهای لیست اضافه کرد.
list1 = [1, 5, 9, 12, 15]
list1.extend([1, 2])
# output = [1, 5, 9, 12, 15, 1, 2]
با استفاده از متد append می توان چند عنصر را به انتهای لیست اضافه کرد.
list1 = [1, 5, 9, 12, 15]
list1.insert(1, 2)
# output = [1, 2, 5, 9, 12, 15]
با استفاده از متد insert می توان یک عنصر را به هر جای لیست اضافه کرد (و نه فقط به انتهای لیست). در مثال بالا در اندیس ۱ مقدار ۲ را اضافه می نماید.
list1 = [1, 5, 9, 12, 15]
list1.remove(9)
# output = [1, 5, 12, 15]
با استفاده از متد remove می توان یک عنصر را حذف کرد.
list1 = [1, 5, 9, 12, 15]
list1.pop(2)
# output = [1, 5, 12, 15]
با استفاده از متد pop می توان یک عنصر را در اندیس داده شده حذف کرده و مقدار آن را نیز بازگرداند.
aval = [10, 20, 30, 40, 50]
dovom = aval.copy()
# output = [10, 20, 30, 40, 50]
با استفاده از عملگر = و متد کپی می توان اقدام به کپی کردن لیست ها در یکدیگر و ساخت لیست جدید نمود.
نکته: اگر از متد کپی استفاده نکنید و برای مثال بزنید dovom = aval، لیست جدید ساخته می شود اما اگر هر تغییری در آن دهید، در لیست aval نیز اعمال می شود.
سایر نکات آموزشی
نحوه تبدیل یک string به لیست:
phrase = “SALAM”
ph_list = list(phrase)
# output = [S, A, L, A, M]
نحوه تبدیل یک لیست به string:
ph_list = [S, A, L, A, M]
phrase = ‘ ‘.join(ph_list)
# output = SALAM
برعکس کردن عناصر یک string:
phrase = “SALAM”
ph_list = list(phrase)
phrase2 = ‘ ‘.join(ph_list[::-1])
# output = MALAS