📦 آموزش کامل لیست‌ها در پایتون (Lists)

از تعریف و اندیس‌گذاری تا برش (slicing)، متدهای افزودن، حذف و مرتب‌سازی، حلقه for روی لیست و تمرینات عملی | آکادمی غیاثی

📑 آنچه در این مقاله می‌خوانید

🔰 لیست در پایتون چیست؟

لیست (List) یکی از پرکاربردترین ساختارهای داده در پایتون است. یک لیست مانند یک جعبه بزرگ است که می‌توانید هر چیزی را داخل آن بگذارید: اعداد، رشته‌ها، مقادیر درست/غلط، و حتی لیست‌های دیگر!

📌 ویژگی‌های مهم لیست‌ها:
تغییرپذیر (Mutable): می‌توانید بعد از ساخته شدن، عناصر آن را تغییر دهید، اضافه کنید یا حذف کنید.
مرتب (Ordered): ترتیبی که عناصر را اضافه می‌کنید حفظ می‌شود.
قابلیت ذخیره انواع مختلف: می‌توانید عدد، رشته و ... را کنار هم داشته باشید.
قابلیت تکرار (Duplicate): یک مقدار می‌تواند چند بار در لیست تکرار شود.
دسترسی با اندیس (Index): هر عنصر یک شماره (اندیس) دارد که از ۰ شروع می‌شود.

📝 روش‌های ایجاد لیست

🔹 روش اول: استفاده از براکت []

ساده‌ترین راه. عناصر را داخل [] قرار می‌دهیم و با کاما جدا می‌کنیم.

🐍 ایجاد لیست با براکت
a = [1, 2, 3, 4, 5]
b = ['apple', 'banana', 'cherry']
c = [1, 'hello', 3.14, True]
print(a)
print(b)
print(c)

🔹 روش دوم: استفاده از سازنده list()

با تابع list() می‌توان از هر چیزی که «قابل پیمایش» است (مثل رشته، تاپل، محدوده اعداد) یک لیست ساخت.

🐍 ایجاد لیست با list()
a = list((1, 2, 3))   # از تاپل
b = list('Python')      # از رشته
c = list(range(5))      # از محدوده اعداد 0 تا 4
print(a)
print(b)
print(c)

🔹 روش سوم: ایجاد لیست با عناصر تکراری

با استفاده از عملگر * می‌توان یک لیست را چند بار تکرار کرد.

🐍 ایجاد لیست تکراری
a = [2] * 5   # [2, 2, 2, 2, 2]
b = [0] * 7   # [0, 0, 0, 0, 0, 0, 0]
print(a)
print(b)
⚠️ هشدار: اگر لیست شامل لیست‌های تو در تو باشد، عملگر * باعث تکرار ارجاع می‌شود (نه کپی مستقل). بعداً در بخش اشتباهات رایج توضیح می‌دهیم.

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

🔹 اندیس‌گذاری مثبت (از 0 تا n-1)

اولین عنصر اندیس 0 دارد، دومین عنصر اندیس 1 و آخرین عنصر اندیس n-1 (که n طول لیست است).

🐍 دسترسی با اندیس مثبت
a = [10, 20, 30, 40, 50]
print(a[0])   # 10 (اولین)
print(a[2])   # 30 (سومین)
print(a[4])   # 50 (آخرین)

🔹 اندیس‌گذاری منفی (از انتها)

با اندیس‌های منفی می‌توان از انتهای لیست به عناصر دسترسی پیدا کرد. -1 آخرین عنصر، -2 یکی مانده به آخر و ... است.

🐍 دسترسی با اندیس منفی
a = [10, 20, 30, 40, 50]
print(a[-1])   # 50 (آخرین)
print(a[-2])   # 40 (یکی مانده به آخر)
print(a[-5])   # 10 (اولین)
💡 نکته: اندیس منفی ۵- معادل اندیس مثبت ۰ است. به طور کلی: a[-i] = a[len(a)-i]

🔹 برش (Slicing) — استخراج بخشی از لیست

با برش می‌توانید بخشی از یک لیست را استخراج کنید. فرمت: [start:end:step]

🐍 برش لیست
a = [10, 20, 30, 40, 50]
print(a[1:4])    # [20, 30, 40] (از اندیس 1 تا قبل از 4)
print(a[:3])     # [10, 20, 30] (از ابتدا تا قبل از 3)
print(a[2:])     # [30, 40, 50] (از اندیس 2 تا انتها)
print(a[::2])    # [10, 30, 50] (قدم 2)
print(a[::-1])   # [50, 40, 30, 20, 10] (برعکس)
🎯 نکات مهم برش:
- start شامل می‌شود، end شامل نمی‌شود.
- اگر start خالی باشد، از ابتدا شروع می‌شود.
- اگر end خالی باشد، تا انتها ادامه می‌یابد.
- step مشخص می‌کند با چه قدمی حرکت کنیم. step=-1 یعنی برعکس.

➕ افزودن عناصر به لیست

🔹 append(x) — اضافه کردن به انتها

یک عنصر را به آخر لیست اضافه می‌کند.

🐍 append()
a = [1, 2, 3]
a.append(4)
print(a)  # [1, 2, 3, 4]

🔹 insert(i, x) — درج در موقعیت مشخص

عنصر x را در اندیس i قرار می‌دهد. عناصر بعدی به سمت راست حرکت می‌کنند.

🐍 insert()
a = [1, 2, 3]
a.insert(1, 99)
print(a)  # [1, 99, 2, 3]

🔹 extend(iterable) — اضافه کردن چند عنصر

همه عناصر یک تکرارپذیر (مثل لیست دیگر) را به انتهای لیست اضافه می‌کند.

🐍 extend()
a = [1, 2, 3]
a.extend([4, 5, 6])
print(a)  # [1, 2, 3, 4, 5, 6]
💡 تفاوت extend() و append(): append([4,5]) کل لیست را به عنوان یک عضو اضافه می‌کند، اما extend([4,5]) هر عضو را جدا اضافه می‌کند.

✏️ به‌روزرسانی عناصر لیست

لیست‌ها تغییرپذیرند، بنابراین می‌توان مقدار یک عنصر را با اندیس آن تغییر داد.

🐍 تغییر مقدار عنصر
a = [10, 20, 30, 40]
a[1] = 25
print(a)  # [10, 25, 30, 40]

❌ حذف عناصر از لیست

🔹 remove(x) — حذف با مقدار

اولین رخداد مقدار x را حذف می‌کند. اگر مقدار وجود نداشته باشد، خطا می‌دهد.

🐍 remove()
a = [10, 20, 30, 20]
a.remove(20)
print(a)  # [10, 30, 20]

🔹 pop(i) — حذف با اندیس و دریافت مقدار

عنصر در اندیس i را حذف کرده و آن را برمی‌گرداند. اگر اندیس ندهیم، آخرین عنصر را حذف می‌کند.

🐍 pop()
a = [10, 20, 30, 40]
val = a.pop(1)
print(val)   # 20
print(a)     # [10, 30, 40]

🔹 del — حذف با اندیس یا حذف کل لیست

🐍 del
a = [10, 20, 30, 40]
del a[0]
print(a)  # [20, 30, 40]
💡 تفاوت pop و del: pop مقدار حذف شده را برمی‌گرداند، اما del فقط حذف می‌کند.

🔄 پیمایش لیست با حلقه for

حلقه `for` یکی از قدرتمندترین ابزارها در پایتون است. با استفاده از حلقه `for` می‌توانید روی همه عناصر یک لیست پیمایش کنید و برای هر عنصر یک کار مشخص انجام دهید. تصور کنید یک جعبه پر از میوه دارید و می‌خواهید هر میوه را جداگانه بررسی کنید — حلقه `for` دقیقاً همین کار را با لیست‌ها انجام می‌دهد.

📌 ایده اصلی حلقه for:
«برای هر عضو داخل این لیست، یک کار خاص انجام بده»

🔹 روش اول: پیمایش مستقیم عناصر (ساده‌ترین)

در این روش، متغیر حلقه مستقیماً مقدار هر عنصر را می‌گیرد. اگر فقط به خود عناصر نیاز دارید و نیازی به شماره اندیس ندارید، این روش بهترین انتخاب است.

🐍 پیمایش مستقیم لیست
fruits = ['apple', 'banana', 'cherry', 'date']
for fruit in fruits:
    print(fruit)

خروجی:

📟 خروجی
apple
banana
cherry
date
💡 توضیح: متغیر fruit در هر بار اجرای حلقه، مقدار یکی از اعضای لیست را می‌گیرد. نام این متغیر را می‌توانید هر چیزی بگذارید (مثل item، x، element و ...).
✍️ مثال عملی: فرض کنید لیستی از نمرات داریم و می‌خواهیم همه نمرات را ۲ واحد افزایش دهیم.
🐍 افزایش نمرات با حلقه for
scores = [18, 15, 19, 14, 17]
new_scores = []
for score in scores:
    new_scores.append(score + 2)
print(new_scores)  # [20, 17, 21, 16, 19]

🔹 روش دوم: پیمایش با دسترسی به ایندکس (با range و len)

گاهی نیاز داریم هم به اندیس (موقعیت) عنصر دسترسی داشته باشیم و هم به خود عنصر. مثلاً بخواهیم بدانیم کدام عنصر در کدام خانه لیست قرار دارد. در این روش از ترکیب range() و len() استفاده می‌کنیم.

🐍 پیمایش با ایندکس (range + len)
fruits = ['apple', 'banana', 'cherry', 'date']
for i in range(len(fruits)):
    print(f'اندیس {i}: {fruits[i]}')

خروجی:

📟 خروجی
اندیس 0: apple
اندیس 1: banana
اندیس 2: cherry
اندیس 3: date
💡 توضیح تابع range(len(list)):
len(fruits) طول لیست را برمی‌گرداند (مثلاً 4).
range(4) اعداد 0، 1، 2، 3 را تولید می‌کند.
این اعداد دقیقاً همان اندیس‌های لیست هستند.
سپس با fruits[i] به عنصر متناظر با آن اندیس دسترسی پیدا می‌کنیم.
✍️ مثال عملی: فرض کنید می‌خواهید عنصری که مقدارش برابر با "cherry" است را پیدا کنید و بگویید در کدام اندیس قرار دارد.
🐍 پیدا کردن ایندکس یک مقدار
fruits = ['apple', 'banana', 'cherry', 'date']
for i in range(len(fruits)):
    if fruits[i] == 'cherry':
        print(f'cherry در اندیس {i} قرار دارد')

🔹 روش سوم: پیمایش با enumerate() (روش حرفه‌ای و خوانا)

تابع enumerate() بهترین و خواناترین روش برای پیمایش زمانی است که هم به اندیس و هم به مقدار نیاز دارید. این تابع برای هر عنصر لیست یک جفت (اندیس، مقدار) برمی‌گرداند.

🐍 استفاده از enumerate()
fruits = ['apple', 'banana', 'cherry', 'date']
for index, fruit in enumerate(fruits):
    print(f'اندیس {index}: {fruit}')

خروجی: (همانند روش قبل)

💡 مزیت enumerate():
  • نیازی به نوشتن range(len()) نیست.
  • کد خواناتر و کوتاه‌تر است.
  • می‌توانید شماره شروع را تغییر دهید: enumerate(fruits, start=1)
🐍 enumerate با start=1
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits, start=1):
    print(f'{index}: {fruit}')

خروجی:

📟 خروجی
1: apple
2: banana
3: cherry

🔹 نکته مهم: تغییر عناصر لیست در حین پیمایش

اگر می‌خواهید عناصر لیست را در حین پیمایش تغییر دهید، باید از روش ایندکسی استفاده کنید (روش دوم یا سوم با اندیس). روش اول (پیمایش مستقیم) نمی‌تواند عناصر اصلی لیست را تغییر دهد.

🐍 اشتباه رایج (کار نمی‌کند)
numbers = [1, 2, 3, 4, 5]
for n in numbers:
    n = n * 2   # این فقط متغیر حلقه را تغییر می‌دهد، نه لیست اصلی
print(numbers)  # [1, 2, 3, 4, 5] (تغییر نکرده!)
✅ راه‌حل صحیح: از ایندکس استفاده کنید.
🐍 تغییر صحیح عناصر لیست
numbers = [1, 2, 3, 4, 5]
for i in range(len(numbers)):
    numbers[i] = numbers[i] * 2
print(numbers)  # [2, 4, 6, 8, 10]

🔹 مقایسه روش‌های مختلف پیمایش لیست

روش مزایا معایب زمان استفاده
for item in list: ساده، خوانا، کوتاه دسترسی به اندیس نداریم، نمی‌توان لیست را تغییر داد وقتی فقط به مقادیر نیاز دارید
for i in range(len(list)): دسترسی به اندیس، امکان تغییر لیست کد طولانی‌تر، نیاز به list[i] وقتی نیاز به اندیس یا تغییر لیست دارید
for i, item in enumerate(list): دسترسی همزمان به اندیس و مقدار، خوانا، حرفه‌ای هیچ (این بهترین روش است) زمانی که هم به اندیس و هم به مقدار نیاز دارید
🎯 نتیجه‌گیری مهم:
- اگر فقط به مقدار عناصر نیاز دارید ← for item in list:
- اگر به اندیس عناصر نیاز دارید یا می‌خواهید لیست را تغییر دهیدfor i in range(len(list)):
- اگر می‌خواهید کدتان حرفه‌ای و خوانا باشد ← for i, item in enumerate(list):
✍️ تمرین:
  1. یک لیست از اعداد 1 تا 10 بسازید.
  2. با حلقه for و روش enumerate، اعداد زوج را به همراه اندیس آنها چاپ کنید.
  3. با حلقه for و روش ایندکسی، همه اعداد لیست را ۳ برابر کنید و لیست جدید را چاپ کنید.

🛠️ متدها و توابع مهم کار با لیست

در پایتون، توابع و متدهای آماده‌ای وجود دارند که کار با لیست‌ها را بسیار آسان می‌کنند. در این بخش هر کدام را با جزئیات کامل یاد می‌گیریم.

📌 تفاوت تابع و متد:
- تابع (Function): مانند len() و sum()، به صورت عمومی استفاده می‌شوند: len(list)
- متد (Method): مختص یک نوع داده خاص است و با نقطه به آن دسترسی داریم: list.sort()

📌 1. تابع len() — محاسبه طول لیست

تابع len() تعداد عناصر موجود در یک لیست را برمی‌گرداند. این تابع برای هر نوع لیستی کار می‌کند.

🐍 مثال len()
a = [10, 20, 30, 40, 50]
b = ['apple', 'banana']
c = []
print(len(a))  # 5
print(len(b))  # 2
print(len(c))  # 0 (لیست خالی)
💡 کاربرد مهم: از len() معمولاً در حلقه‌های for برای پیمایش با ایندکس استفاده می‌شود: for i in range(len(my_list))

📌 2. تابع sum() — جمع عناصر لیست

تابع sum() مجموع همه عناصر عددی یک لیست را محاسبه می‌کند. این تابع فقط برای لیست‌هایی کار می‌کند که همه عناصرشان عدد باشند.

🐍 مثال sum()
numbers = [10, 20, 30, 40, 50]
print(sum(numbers))  # 150
print(sum([1, 2, 3]))  # 6
⚠️ هشدار: اگر لیست شامل رشته باشد، sum() خطا می‌دهد.
# این کد خطا می‌دهد:
a = [1, 2, 'hello']
print(sum(a))  # TypeError!

📌 3. تابع min() — کوچکترین عنصر

تابع min() کوچکترین (کمینه) عنصر را در لیست پیدا می‌کند.

🐍 مثال min()
numbers = [50, 10, 40, 20, 30]
names = ['ali', 'reza', 'sara']
print(min(numbers))  # 10
print(min(names))    # 'ali' (بر اساس ترتیب حروف الفبا)

📌 4. تابع max() — بزرگترین عنصر

تابع max() بزرگترین (بیشینه) عنصر را در لیست پیدا می‌کند.

🐍 مثال max()
numbers = [50, 10, 40, 20, 30]
names = ['ali', 'reza', 'sara']
print(max(numbers))  # 50
print(max(names))    # 'sara' (بر اساس ترتیب حروف الفبا)

📌 5. متد sort() — مرتب‌سازی لیست (تغییر در خود لیست)

متد sort() عناصر لیست را به صورت صعودی (از کوچک به بزرگ) مرتب می‌کند. این متد خود لیست را تغییر می‌دهد و چیزی برنمی‌گرداند.

🐍 مثال sort()
numbers = [3, 1, 4, 1, 5, 9, 2]
numbers.sort()
print(numbers)  # [1, 1, 2, 3, 4, 5, 9]

مرتب‌سازی نزولی (از بزرگ به کوچک):

🐍 sort() نزولی
numbers = [3, 1, 4, 1, 5]
numbers.sort(reverse=True)
print(numbers)  # [5, 4, 3, 1, 1]
💡 مهم: sort() خود لیست اصلی را تغییر می‌دهد و مقدار بازگشتی آن None است. پس نمی‌توانید نتیجه را در متغیر جدید ذخیره کنید.

📌 6. تابع sorted() — مرتب‌سازی بدون تغییر لیست اصلی

تابع sorted() مانند sort() عمل می‌کند، اما لیست اصلی را تغییر نمی‌دهد و یک لیست جدید مرتب شده برمی‌گرداند.

🐍 مثال sorted()
original = [3, 1, 4, 1, 5]
sorted_list = sorted(original)
print(sorted_list)  # [1, 1, 3, 4, 5]
print(original)     # [3, 1, 4, 1, 5] (تغییر نکرده)
📊 مقایسه sort() و sorted():
ویژگیsort()sorted()
تغییر لیست اصلی✅ بله (in-place)❌ خیر
مقدار بازگشتیNoneلیست جدید مرتب شده
نوعمتدتابع
مناسب برایوقتی لیست اصلی را نیاز نداریموقتی می‌خواهیم هر دو نسخه را داشته باشیم

📌 7. متد count() — شمارش تعداد یک مقدار

متد count() تعداد دفعات تکرار یک مقدار مشخص را در لیست شمارش می‌کند.

🐍 مثال count()
numbers = [1, 2, 3, 1, 1, 4, 1, 5]
print(numbers.count(1))  # 4 (چهار بار عدد 1 تکرار شده)
print(numbers.count(10)) # 0 (عدد 10 وجود ندارد)

📌 8. متد index() — پیدا کردن اندیس یک مقدار

متد index() اولین اندیسی که یک مقدار مشخص در آن قرار دارد را برمی‌گرداند. اگر مقدار پیدا نشود، خطا می‌دهد.

🐍 مثال index()
fruits = ['apple', 'banana', 'cherry', 'banana', 'date']
print(fruits.index('banana'))    # 1 (اولین banana در اندیس 1 است)
print(fruits.index('grape'))     # ValueError! (پیدا نشد)
💡 برای جلوگیری از خطا، همیشه قبل از استفاده از index() بررسی کنید که مقدار وجود دارد یا از in استفاده کنید.

📌 9. متد reverse() — برعکس کردن لیست

متد reverse() ترتیب عناصر لیست را برعکس می‌کند (آخرین عنصر می‌شود اولین). این متد خود لیست را تغییر می‌دهد.

🐍 مثال reverse()
numbers = [1, 2, 3, 4, 5]
numbers.reverse()
print(numbers)  # [5, 4, 3, 2, 1]

اگر می‌خواهید لیست اصلی تغییر نکند، از برش با [::-1] استفاده کنید:

🐍 برعکس بدون تغییر لیست اصلی
numbers = [1, 2, 3, 4, 5]
reversed_list = numbers[::-1]
print(reversed_list)  # [5, 4, 3, 2, 1]
print(numbers)        # [1, 2, 3, 4, 5] (تغییر نکرده)

📌 10. متد copy() — کپی کردن لیست

متد copy() یک کپی سطحی (shallow copy) از لیست می‌سازد.

🐍 مثال copy()
original = [1, 2, 3]
new_list = original.copy()
new_list.append(4)
print(original)  # [1, 2, 3] (تغییر نکرده)
print(new_list)  # [1, 2, 3, 4]
⚠️ نکته مهم: new = old کپی نمی‌کند! فقط یک ارجاع جدید به همان لیست می‌سازد.
a = [1, 2, 3]
b = a          # این کپی نیست، هر دو به یک لیست اشاره دارند
b.append(4)
print(a)       # [1, 2, 3, 4] (a هم تغییر کرد!)
برای کپی واقعی از copy() یا a[:] استفاده کنید.

📌 11. متد clear() — خالی کردن لیست

متد clear() همه عناصر لیست را حذف می‌کند و لیست را خالی می‌کند.

🐍 مثال clear()
numbers = [1, 2, 3, 4, 5]
numbers.clear()
print(numbers)  # []

📊 جدول جمع‌بندی متدها و توابع مهم

نام نوع توضیح مثال تغییر لیست اصلی؟
len() تابع تعداد عناصر لیست len([1,2,3]) → 3
sum() تابع جمع عناصر عددی sum([1,2,3]) → 6
min() تابع کوچکترین عنصر min([3,1,2]) → 1
max() تابع بزرگترین عنصر max([3,1,2]) → 3
sort() متد مرتب‌سازی صعودی [3,1,2].sort() → [1,2,3]
sorted() تابع مرتب‌سازی (لیست جدید) sorted([3,1,2]) → [1,2,3] ❌ (لیست جدید می‌سازد)
reverse() متد برعکس کردن ترتیب [1,2,3].reverse() → [3,2,1]
count(x) متد تعداد x در لیست [1,2,1].count(1) → 2
index(x) متد اندیس اولین x ['a','b'].index('b') → 1
copy() متد کپی کردن لیست [1,2].copy() → [1,2] ❌ (لیست جدید می‌سازد)
clear() متد خالی کردن لیست [1,2].clear() → []
🎯 نکات طلایی برای مبتدیان:
• اگر لیست شما عددی است و می‌خواهید میانگین بگیرید: sum(numbers) / len(numbers)
• قبل از استفاده از index()، وجود مقدار را با if x in list: بررسی کنید.
• برای کپی کردن لیست، هرگز از new = old استفاده نکنید. از new = old.copy() یا new = old[:] استفاده کنید.
• اگر به لیست اصلی نیاز ندارید، از sort() استفاده کنید (کارآمدتر است).
✍️ تمرین:
  1. یک لیست از اعداد [5, 2, 8, 1, 9, 3] بسازید.
  2. با استفاده از توابع مناسب، کوچکترین، بزرگترین و مجموع اعداد را پیدا کنید.
  3. لیست را به صورت صعودی مرتب کنید.
  4. یک کپی از لیست بگیرید و آن را برعکس کنید.
  5. تعداد دفعات تکرار عدد 1 را در لیست پیدا کنید.

📦 لیست‌های تودرتو (Nested Lists)

لیست تودرتو یعنی لیستی که عناصر آن خود لیست هستند. مانند یک جدول یا ماتریس.

🐍 لیست تودرتو
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
print(matrix[0])     # [1, 2, 3]
print(matrix[1][2])  # 6
🎯 نکته: matrix[1][2] یعنی: برو به سطر دوم (اندیس 1) و سپس ستون سوم (اندیس 2).

📌 نحوه ذخیره‌سازی مراجع در لیست

لیست‌ها مقادیر را مستقیماً ذخیره نمی‌کنند، بلکه مراجع (اشاره‌گر) به اشیاء در حافظه را ذخیره می‌کنند. به همین دلیل است که لیست می‌تواند انواع مختلف داده را کنار هم نگه دارد.

🐍 مراجع در لیست
a = [10, 'hello', 3.14, True]
print(a[0])  # 10 (اشاره به عدد)
print(a[1])  # hello (اشاره به رشته)

❌ اشتباهات رایج هنگام کار با لیست‌ها

⚠️ مثال تکثیر اشتباه:
a = [[0]] * 3   # این اشتباه است!
a[0][0] = 1
print(a)  # [[1], [1], [1]] (همه تغییر کردند!)
راه‌حل: از حلقه یا [[0] for _ in range(3)] استفاده کنید.

✍️ تمرینات پایانی

تمرین 1: لیستی از ۵ عدد دلخواه بسازید و مجموع آن‌ها را چاپ کنید.
تمرین 2: یک لیست از اسامی دوستان خود بسازید و با حلقه for هر نام را چاپ کنید.
تمرین 3: یک لیست از اعداد بسازید و بزرگترین و کوچکترین عدد را با max() و min() پیدا کنید.
تمرین 4: یک لیست از اعداد بسازید، سپس آن را با sort() مرتب کنید و سپس برعکس آن را چاپ کنید.
تمرین 5 (چالش): یک لیست ۳×۳ (ماتریس) بسازید و عنصر وسط آن (سطر دوم، ستون دوم) را چاپ کنید.

📌 جدول متدهای پرکاربرد لیست‌ها

متدتوضیحمثال
append(x)اضافه کردن x به انتهای لیستa.append(5)
insert(i, x)درج x در اندیس ia.insert(1, 99)
extend(iter)اضافه کردن عناصر یک تکرارپذیرa.extend([4,5])
remove(x)حذف اولین رخداد xa.remove(20)
pop(i)حذف و بازگرداندن عنصر در اندیس ival = a.pop(2)
sort()مرتب‌سازی لیست (تغییر در خود لیست)a.sort()
clear()خالی کردن لیستa.clear()
🎯 گام بعدی: پس از تسلط به لیست‌ها، سراغ تاپل‌ها (Tuples) و دیکشنری‌ها (Dictionaries) بروید.
✅ کپی شد!