لیست‌ها و عملیات روی آن‌ها در پایتون – مبانی پایتون

لیست‌ها و عملیات روی آن‌ها در پایتون – مبانی پایتون

لیست‌ها یکی از پرکاربردترین و مهم‌ترین ساختارهای داده‌ای در زبان برنامه‌نویسی پایتون هستند. آن‌ها به شما امکان می‌دهند مجموعه‌ای از آیتم‌ها را در یک متغیر ذخیره کنید و به راحتی با آن‌ها کار کنید. در این مقاله، به بررسی جامع لیست‌ها، نحوه ایجاد آن‌ها، دسترسی به عناصر، تغییر آن‌ها و انجام عملیات مختلف روی آن‌ها خواهیم پرداخت. این آموزش در دسته بندی ‘مبانی پایتون’ قرار می‌گیرد و برای افراد مبتدی و متوسط مناسب است.

ایجاد لیست‌ها

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


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

# ایجاد یک لیست از رشته‌ها
fruits = ["apple", "banana", "cherry"]

# ایجاد یک لیست ترکیبی
mixed_list = [1, "hello", True, 3.14]

# ایجاد یک لیست خالی
empty_list = []

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

برای دسترسی به عناصر یک لیست، از اندیس (index) استفاده می‌کنیم. اندیس‌ها در پایتون از 0 شروع می‌شوند. بنابراین، اولین عنصر لیست در اندیس 0، دومین عنصر در اندیس 1 و به همین ترتیب قرار دارد.


fruits = ["apple", "banana", "cherry"]

# دسترسی به اولین عنصر
first_fruit = fruits[0]  # first_fruit برابر "apple" خواهد بود

# دسترسی به دومین عنصر
second_fruit = fruits[1] # second_fruit برابر "banana" خواهد بود

# دسترسی به آخرین عنصر با استفاده از اندیس منفی
last_fruit = fruits[-1]  # last_fruit برابر "cherry" خواهد بود

توجه داشته باشید که اگر اندیسی خارج از محدوده لیست را مشخص کنید، با خطای IndexError مواجه خواهید شد.

تغییر عناصر لیست

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


fruits = ["apple", "banana", "cherry"]

# تغییر مقدار اولین عنصر
fruits[0] = "orange"

# چاپ لیست تغییر یافته
print(fruits)  # خروجی: ['orange', 'banana', 'cherry']

عملیات روی لیست‌ها

پایتون عملیات متنوعی را برای کار با لیست‌ها فراهم می‌کند. در ادامه به برخی از مهم‌ترین این عملیات اشاره می‌کنیم:

1. اضافه کردن عناصر

  • append(item): اضافه کردن یک آیتم به انتهای لیست.
  • insert(index, item): اضافه کردن یک آیتم در یک اندیس مشخص.
  • extend(iterable): اضافه کردن عناصر یک iterable (مانند لیست دیگر) به انتهای لیست.

fruits = ["apple", "banana"]

# اضافه کردن "cherry" به انتهای لیست
fruits.append("cherry")
print(fruits)  # خروجی: ['apple', 'banana', 'cherry']

# اضافه کردن "orange" در اندیس 1
fruits.insert(1, "orange")
print(fruits)  # خروجی: ['apple', 'orange', 'banana', 'cherry']

# اضافه کردن عناصر لیست دیگر
more_fruits = ["grape", "kiwi"]
fruits.extend(more_fruits)
print(fruits)  # خروجی: ['apple', 'orange', 'banana', 'cherry', 'grape', 'kiwi']

2. حذف عناصر

  • remove(item): حذف اولین رخداد یک آیتم مشخص از لیست.
  • pop(index): حذف و برگرداندن عنصر در یک اندیس مشخص. اگر اندیس مشخص نشود، آخرین عنصر حذف می‌شود.
  • del list[index]: حذف عنصر در یک اندیس مشخص.
  • clear(): حذف تمام عناصر لیست.

fruits = ["apple", "banana", "cherry", "banana"]

# حذف اولین رخداد "banana"
fruits.remove("banana")
print(fruits)  # خروجی: ['apple', 'cherry', 'banana']

# حذف عنصر در اندیس 1 و برگرداندن آن
removed_fruit = fruits.pop(1)
print(fruits)  # خروجی: ['apple', 'banana']
print(removed_fruit)  # خروجی: cherry

# حذف عنصر در اندیس 0
del fruits[0]
print(fruits)  # خروجی: ['banana']

# حذف تمام عناصر لیست
fruits.clear()
print(fruits)  # خروجی: []

3. جستجو در لیست

  • index(item): برگرداندن اندیس اولین رخداد یک آیتم مشخص.
  • count(item): برگرداندن تعداد رخدادهای یک آیتم مشخص.
  • in: بررسی وجود یک آیتم در لیست.

fruits = ["apple", "banana", "cherry", "banana"]

# یافتن اندیس اولین رخداد "banana"
banana_index = fruits.index("banana")
print(banana_index)  # خروجی: 1

# شمارش تعداد رخدادهای "banana"
banana_count = fruits.count("banana")
print(banana_count)  # خروجی: 2

# بررسی وجود "apple" در لیست
if "apple" in fruits:
  print("Apple is in the list")

4. مرتب‌سازی لیست

  • sort(): مرتب‌سازی لیست به صورت صعودی (ascending).
  • sort(reverse=True): مرتب‌سازی لیست به صورت نزولی (descending).
  • sorted(list): برگرداندن یک لیست مرتب شده جدید بدون تغییر لیست اصلی.

numbers = [3, 1, 4, 1, 5, 9, 2, 6]

# مرتب‌سازی لیست به صورت صعودی
numbers.sort()
print(numbers)  # خروجی: [1, 1, 2, 3, 4, 5, 6, 9]

# مرتب‌سازی لیست به صورت نزولی
numbers.sort(reverse=True)
print(numbers)  # خروجی: [9, 6, 5, 4, 3, 2, 1, 1]

# ایجاد یک لیست مرتب شده جدید
original_numbers = [3, 1, 4, 1, 5]
sorted_numbers = sorted(original_numbers)
print(original_numbers)  # خروجی: [3, 1, 4, 1, 5]
print(sorted_numbers)  # خروجی: [1, 1, 3, 4, 5]

5. برش (Slicing) لیست

برش لیست به شما امکان می‌دهد بخشی از لیست را استخراج کنید.


fruits = ["apple", "banana", "cherry", "date", "fig"]

# استخراج عناصر از اندیس 1 تا 3 (شامل اندیس 1 و 2)
sliced_fruits = fruits[1:3]
print(sliced_fruits)  # خروجی: ['banana', 'cherry']

# استخراج عناصر از ابتدا تا اندیس 2 (شامل اندیس 0، 1 و 2)
sliced_fruits = fruits[:3]
print(sliced_fruits)  # خروجی: ['apple', 'banana', 'cherry']

# استخراج عناصر از اندیس 3 تا انتها (شامل اندیس 3 و 4)
sliced_fruits = fruits[3:]
print(sliced_fruits)  # خروجی: ['date', 'fig']

# استخراج تمام عناصر لیست (ایجاد یک کپی)
sliced_fruits = fruits[:]
print(sliced_fruits)  # خروجی: ['apple', 'banana', 'cherry', 'date', 'fig']

کاربردهای لیست‌ها

لیست‌ها در پایتون کاربردهای بسیار گسترده‌ای دارند، از جمله:

  • ذخیره مجموعه‌ای از داده‌ها
  • پیاده‌سازی صف‌ها و پشته‌ها
  • ذخیره نتایج محاسبات
  • پردازش داده‌ها
  • ساخت ساختارهای داده‌ای پیچیده‌تر

امیدوارم این مقاله به شما در درک بهتر لیست‌ها و عملیات روی آن‌ها در پایتون کمک کرده باشد. با تمرین و استفاده از این مفاهیم، می‌توانید برنامه‌های قدرتمندتری را در پایتون توسعه دهید.

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *