لیستها در پایتون
تعریف لیست، دسترسی به عناصر، تغییر، برش (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() |
این مبحث بخشی از دوره آموزش کامل پایتون است.