Python Lists

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

🔹 ایجاد لیست

my_list = [1, 2, 3, "Python", True] print(my_list)
  • می‌تواند ترکیبی از انواع مختلف داده باشد.

  • ترتیب عناصر حفظ می‌شود.

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

print(my_list[0]) # عنصر اول → 1 print(my_list[-1]) # آخرین عنصر → True
  • اندیس‌ها از 0 شروع می‌شوند.

  • اندیس منفی از آخر لیست شروع می‌کند.

🔹 برش (Slicing)

nums = [10, 20, 30, 40, 50] print(nums[1:4]) # [20, 30, 40] print(nums[:3]) # [10, 20, 30] print(nums[::2]) # [10, 30, 50]

🔹 تغییر مقدار (Mutable)

nums[2] = 99 print(nums) # [10, 20, 99, 40, 50]

🔹 متدهای مهم لیست

متدتوضیحمثال
append(x)افزودن عنصر به انتهای لیستlst.append(6)
insert(i, x)افزودن در موقعیت خاصlst.insert(1, "Hi")
extend(iterable)افزودن عناصر چندتاییlst.extend([7, 8])
remove(x)حذف اولین وقوع مقدارlst.remove(3)
pop([i])حذف و برگرداندن عنصر (پیش‌فرض آخر)()lst.pop
()clearخالی کردن کل لیست()lst.clear
index(x)اندیس اولین وقوعlst.index(20)
count(x)تعداد وقوع مقدارlst.count(2)
()sortمرتب‌سازی (پیش‌فرض صعودی)()lst.sort
()reverseمعکوس کردن ترتیب()lst.reverse
()copyکپی سطحی لیست()new = lst.copy

🔹 حلقه روی لیست

for item in my_list: print(item)

🔹 بررسی وجود عنصر

if "Python" in my_list: print("Found!")

🔹 توابع مفید

numbers = [3, 1, 4, 1, 5] print(len(numbers)) # طول لیست print(sum(numbers)) # مجموع (فقط اعداد) print(min(numbers)) # کمترین print(max(numbers)) # بیشترین

🔹 لیست تو در تو (Nested List)

matrix = [[1, 2], [3, 4], [5, 6]] print(matrix[1][0]) # دسترسی به 3

🔹 List Comprehension

روش کوتاه برای ساخت لیست:

squares = [x**2 for x in range(5)] print(squares) # [0, 1, 4, 9, 16]

✅ نکات کلیدی

  • Mutable: می‌توان مقدار و ترتیب عناصر را تغییر داد.

  • می‌تواند هر نوع داده (حتی لیست دیگر) در خود داشته باشد.

  • برای کپی‌گیری عمیق از لیست‌های تو در تو از ()copy.deepcopy استفاده کنید.

💡 خلاصه:
لیست‌ها در پایتون یک ساختار ترتیبی، قابل تغییر، چندمنظوره هستند که با متدهای فراوانی مانند append, insert, remove, sort و امکان برش، حلقه، comprehension ابزاری قدرتمند برای ذخیره و مدیریت مجموعه‌ای از داده‌ها فراهم می‌کنند.