لیست در پایتون یک ساختار داده داخلی است که برای ذخیره مجموعهای مرتب از موارد استفاده میشود. لیستها قابل تغییر هستند، به این معنی که محتوای آنها پس از ایجاد لیست قابل تغییر است. لیستها میتوانند انواع مختلف دادهها را شامل شوند، از جمله اعداد صحیح، اعداد اعشاری ، رشتهها و حتی لیستهای دیگر.
مقدمه
لیست در پایتون «List» یک نوع دادهی قابل تغییر «Mutable» و ترتیبدار است که میتواند مجموعهای از مقادیر را در خود نگه دارد. لیستها با استفاده از براکت [ ] تعریف میشوند و میتوانند شامل انواع مختلف دادهها، از جمله اعداد، رشتهها، لیستهای دیگر و حتی ترکیبی از این موارد باشند. امکان افزودن، حذف، تغییر و مرتبسازی عناصر لیست از طریق متدها و عملگرهای داخلی پایتون فراهم است. همچنین، با استفاده از اندیسگذاری و برش «Slicing» میتوان به عناصر لیست دسترسی داشت و آنها را مدیریت کرد.
برای آشنایی بهتر با نوع داده لیست در پایتون اولین مثال را باهم مشاهده میکنیم. در این مثال یک لیست با نام a مینویسیم که دارای محتویات مختلفی با نوع داده متفاوت است.
a = [1, 'apple', 3.14, [5, 6]] print(a)
خروجی:
[۱, 'apple', 3.14, [5, 6]]
ایجاد یک لیست در پایتون
ما میتوانیم یک لیست در پایتون را با استفاده از براکتهای مربعی [ ] یا با استفاده از سازنده ()list ایجاد کنیم. در اینجا برخی از روشهای رایج برای ایجاد یک لیست آورده شده است:
استفاده از براکتهای مربعی
ما میتوانیم مستقیماً یک لیست در پایتون را با محصور کردن عناصر در براکتهای مربعی ایجاد کنیم.
# List of integers a = [1, 2, 3, 4, 5] # List of strings b = ['apple', 'banana', 'cherry'] # Mixed data types c = [1, 'hello', 3.14, True] print(a) print(b) print(c)
خروجی:
[۱, ۲, ۳, ۴, ۵] ['apple', 'banana', 'cherry'] [۱, 'hello', 3.14, True]
استفاده از سازنده ()list
ما همچنین میتوانیم یک لیست در پایتون را با عبور دادن یک شیء قابل تکرار (مانند یک رشته، تاپل یا لیست دیگر) به تابع ()list ایجاد کنیم.
# From a tuple a = list((1, 2, 3, 'apple', 4.5)) print(a)
خروجی:
[۱, ۲, ۳, 'apple', 4.5]
ایجاد لیست با عناصر تکراری در پایتون
ما میتوانیم با استفاده از عملگر ضرب ( * ) یک لیست در پایتون، با عناصر تکراری ایجاد کنیم.
# Create a list [2, 2, 2, 2, 2] a = [2] * 5 # Create a list [0, 0, 0, 0, 0, 0, 0] b = [0] * 7 print(a) print(b)
خروجی:
[۲, ۲, ۲, ۲, ۲] [۰, ۰, ۰, ۰, ۰, ۰, ۰]
دسترسی به عناصر لیست در پایتون
عناصر یک لیست در پایتون میتوانند با استفاده از اندیسگذاری قابل دسترسی باشند. اندیسگذاری در پایتون از ۰ شروع میشود، بنابراین a[ 0 ] به اولین عنصر دسترسی پیدا میکند، در حالی که اندیسگذاری منفی به ما این امکان را میدهد که از انتهای لیست به عناصر دسترسی پیدا کنیم. به طور مثال، اندیس ۱- آخرین عنصر لیست را نمایندگی میکند.
a = [10, 20, 30, 40, 50] # Access first element print(a[0]) # Access last element print(a[-1])
خروجی:
۱۰ ۵۰
افزودن عناصر به لیست در پایتون
برای افزودن عناصر به یک لیست در پایتون میتوانیم از روشهای زیر استفاده کنیم:
- ()append: این متد یک عنصر را در انتهای لیست اضافه میکند.
- ()extend: این متد چندین عنصر را به انتهای لیست اضافه میکند.
- ()insert: این متد یک عنصر را در یک موقعیت خاص در لیست وارد میکند.
# Initialize an empty list a = [] # Adding 10 to end of list a.append(10) print("After append(10):", a) # Inserting 5 at index 0 a.insert(0, 5) print("After insert(0, 5):", a) # Adding multiple elements [15, 20, 25] at the end a.extend([15, 20, 25]) print("After extend([15, 20, 25]):", a)
خروجی:
After append(10): [10] After insert(0, 5): [5, 10] After extend([15, 20, 25]): [5, 10, 15, 20, 25]
بهروزرسانی عناصر در لیست در پایتون
برای تغییر مقدار یک عنصر در لیست، میتوانیم از طریق اندیس آن عنصر به آن دسترسی پیدا کرده و مقدار جدید را به آن اختصاص دهیم.
a = [10, 20, 30, 40, 50] # Change the second element a[1] = 25 print(a)
خروجی:
[۱۰, ۲۵, ۳۰, ۴۰, ۵۰]
حذف عناصر از لیست در پایتون
برای حذف عناصر از یک لیست در پایتون میتوانیم از روشهای زیر استفاده کنیم:
- ()remove: اولین باری که یک عنصر خاص در لیست پیدا میشود را حذف میکند.
- ()pop: عنصر موجود در یک اندیس خاص را حذف میکند یا اگر اندیسی مشخص نشود، آخرین عنصر را حذف میکند.
- del statement: یک عنصر را در اندیس مشخص شده حذف میکند.
a = [10, 20, 30, 40, 50] # Removes the first occurrence of 30 a.remove(30) print("After remove(30):", a) # Removes the element at index 1 (20) popped_val = a.pop(1) print("Popped element:", popped_val) print("After pop(1):", a) # Deletes the first element (10) del a[0] print("After del a[0]:", a)
خروجی:
After remove(30): [10, 20, 40, 50] Popped element: 20 After pop(1): [10, 40, 50] After del a[0]: [40, 50]
تکرار (Iterating) روی لیستها
برای تکرار روی لیست در پایتون، میتوان از حلقه for یا روشهای دیگر استفاده کرد. تکرار روی لیستها زمانی مفید است که بخواهیم عملیاتی را روی هر عنصر انجام دهیم یا آیتمهای خاصی را بر اساس شرایط خاصی دسترسی داشته باشیم. با استفاده از حلقه for میتوانیم به راحتی به هر عنصر از لیست دسترسی پیدا کرده و عملیاتی را روی آن انجام دهیم. این روش بسیار کاربردی است زمانی که بخواهیم همه یا بخشی از عناصر لیست را پردازش کنیم.
a = ['apple', 'banana', 'cherry'] # Iterating over the list for item in a: print(item)
خروجی:
apple banana cherry
لیستهای تو در تو (Nested Lists)
به لیستهایی گفته میشود که درون یک لیست دیگر قرار دارند. این نوع لیستها برای نمایش ماتریسها یا جداول بسیار مفید هستند. برای دسترسی به عناصر تو در تو، میتوان از ترکیب اندیسها استفاده کرد. به این صورت که ابتدا به لیست خارجی دسترسی پیدا کرده و سپس به لیست داخلی برویم. این روش به ما امکان میدهد که دادهها را در ابعاد مختلف ذخیره کرده و به راحتی به هر عنصر در سطوح مختلف دسترسی پیدا کنیم.
matrix = [ [۱, ۲, ۳], [۴, ۵, ۶], [۷, ۸, ۹] ] # Access element at row 2, column 3 print(matrix[1][2])
خروجی:
۶
نتیجه گیری
لیست در پایتون یکی از ساختارهای دادهای پرکاربرد هست که انعطافپذیری بالایی برای ذخیره و مدیریت دادهها فراهم میکند. از عملیات اساسی مانند تعویض عناصر در لیست، پیدا کردن طول، یافتن حداکثر و حداقل دو عدد، بررسی وجود یک عنصر در لیست، حذف مقادیر تکراری، معکوس کردن لیست، جمع عناصر، و ادغام دو لیست میتوان برای مدیریت و پردازش دادهها استفاده کرد. همچنین، با استفاده از روشهای پیشرفتهتر مانند متدهای لیست و برش لیستها، میتوان عملکرد کد را بهینهتر کرد.