لیست‌ها در پایتون

تعریف لیست، دسترسی به عناصر، تغییر، برش (slicing) و پیمایش لیست در پایتون

لیست چیست؟

لیست (List) یکی از قدرتمندترین و پرکاربردترین ساختارهای داده در پایتون است. لیست مجموعه‌ای مرتب، تغییرپذیر و قابل تکرار از مقادیر است.

تعریف لیست

لیست با کروشه [ ] تعریف می‌شود:

# لیست خالی
empty = []

# لیست اعداد
numbers = [1, 2, 3, 4, 5]

# لیست رشته‌ها
fruits = ["سیب", "موز", "پرتقال"]

# لیست ترکیبی
mixed = [1, "دو", 3.0, True]

# لیست تو در تو
nested = [[1, 2], [3, 4], [5, 6]]

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

ایندکس از صفر شروع می‌شود:

fruits = ["سیب", "موز", "پرتقال", "انگور"]

print(fruits[0])   # سیب (اولین)
print(fruits[1])   # موز
print(fruits[-1])  # انگور (آخرین)
print(fruits[-2])  # پرتقال

برش لیست (Slicing)

numbers = [10, 20, 30, 40, 50, 60, 70]

print(numbers[1:4])   # [20, 30, 40] (ایندکس ۱ تا ۳)
print(numbers[:3])    # [10, 20, 30] (از ابتدا تا ۲)
print(numbers[4:])    # [50, 60, 70] (از ۴ تا انتها)
print(numbers[::2])   # [10, 30, 50, 70] (یک در میان)
print(numbers[::-1])  # [70, 60, 50, 40, 30, 20, 10] (برعکس)

تغییر عناصر

لیست تغییرپذیر است — می‌توانید عناصر را تغییر دهید:

fruits = ["سیب", "موز", "پرتقال"]
fruits[0] = "انار"
print(fruits)  # ['انار', 'موز', 'پرتقال']

# تغییر یک بازه
numbers = [1, 2, 3, 4, 5]
numbers[1:3] = [20, 30, 40]
print(numbers)  # [1, 20, 30, 40, 5]

افزودن عناصر

fruits = ["سیب", "موز"]

# append — اضافه کردن به انتها
fruits.append("پرتقال")
print(fruits)  # ['سیب', 'موز', 'پرتقال']

# insert — اضافه کردن در موقعیت خاص
fruits.insert(1, "انار")
print(fruits)  # ['سیب', 'انار', 'موز', 'پرتقال']

# extend — اضافه کردن چند عنصر
fruits.extend(["انگور", "هلو"])
print(fruits)

حذف عناصر

fruits = ["سیب", "موز", "پرتقال", "انگور"]

# remove — حذف با مقدار
fruits.remove("موز")

# pop — حذف با ایندکس (و برگرداندن مقدار)
removed = fruits.pop(0)  # سیب حذف می‌شود

# del — حذف با ایندکس
del fruits[0]

# clear — خالی کردن کامل
fruits.clear()

طول لیست

numbers = [1, 2, 3, 4, 5]
print(len(numbers))  # 5

بررسی عضویت

fruits = ["سیب", "موز", "پرتقال"]
print("موز" in fruits)      # True
print("انگور" not in fruits) # True

پیمایش لیست

# روش ۱: مستقیم
fruits = ["سیب", "موز", "پرتقال"]
for fruit in fruits:
    print(fruit)

# روش ۲: با ایندکس
for i in range(len(fruits)):
    print(i, fruits[i])

# روش ۳: enumerate (بهترین!)
for i, fruit in enumerate(fruits):
    print(f"{i}: {fruit}")

الحاق و تکرار

# الحاق دو لیست
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b
print(c)  # [1, 2, 3, 4, 5, 6]

# تکرار
print([0] * 5)  # [0, 0, 0, 0, 0]

کپی لیست

انتساب ساده لیست را کپی نمی‌کند — فقط مرجع را کپی می‌کند!
a = [1, 2, 3]
b = a        # ❌ b و a همان لیست هستند!
b[0] = 99
print(a)     # [99, 2, 3] — a هم تغییر کرد!

# کپی صحیح:
c = a.copy()      # یا a[:] یا list(a)
c[0] = 1
print(a)          # [99, 2, 3] — a تغییر نکرد

لیست تو در تو

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

print(matrix[0])     # [1, 2, 3]
print(matrix[1][2])  # 6

خلاصه

عملیاتسینتکس
دسترسیlist[i]
برشlist[start:stop:step]
افزودنappend(), insert(), extend()
حذفremove(), pop(), del, clear()
طولlen(list)
کپیlist.copy()

این مبحث بخشی از دوره آموزش کامل پایتون است.

ابزارهای مرتبط