Python

لیست

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

لیست ها در پایتون ساختارهای داده ای قدرتمند و پویایی هستند که برای ذخیره سازی، سازماندهی و دستکاری مجموعه ای از مقادیر به طور کارآمد مورد استفاده قرار می گیرند. در این راهنمای جامع، به بررسی کامل عملیات و کاربردهای مختلف لیست ها در زبان برنامه نویسی پایتون می پردازیم.

1. ایجاد لیست:

  • ایجاد لیست خالی:
Python
my_list = []
  • ایجاد لیست با مقادیر اولیه:
Python
numbers = [1, 2, 3, 4, 5]
fruits = ["سیب", "موز", "انگور"]
mixed_data = [True, 10.5, "سلام"]

2. دسترسی به عناصر :

  • با استفاده از شاخص می توان به هر عنصر لیست دسترسی پیدا کرد. شاخص گذاری از 0 شروع می شود و می توان با استفاده از مقادیر منفی به عناصر از انتهای لیست نیز دسترسی داشت.
Python
# دسترسی به اولین عنصر
first_element = numbers[0]  # مقدار first_element برابر با 1 خواهد بود

# دسترسی به آخرین عنصر
last_element = numbers[-1]  # مقدار last_element برابر با 5 خواهد بود

# دسترسی به عنصر دوم از انتهای لیست
second_last_element = numbers[-2]  # مقدار second_last_element برابر با 4 خواهد بود

3. تغییر مقادیر عناصر :

می توان با استفاده از شاخص و مقدار جدید، مقادیر عناصر لیست را به روز رسانی کرد.

Python
# تغییر مقدار عنصر سوم لیست numbers به 20
numbers[2] = 20

# تغییر عنصر اول لیست mixed_data به "پایتون"
mixed_data[0] = "پایتون"

4. افزودن عناصر به :

برای اضافه کردن عناصر جدید به لیست، می توان از متدهای append() و insert() استفاده کرد.

  • append(): عنصر جدید را به انتهای لیست اضافه می کند.
Python
numbers.append(6)  # لیست numbers به صورت [1, 2, 20, 4, 5, 6, 6]
در خواهد آمد
  • insert(): عنصر جدید را در موقعیت دلخواه در لیست درج می کند.
Python
mixed_data.insert(1, "داده جدید")  # ==>   ['پایتون', 'داده جدید', 10.5, 'سلام'] 

5. حذف عناصر  :

برای حذف عناصر از لیست، می توان از متد remove() یا عملگر del استفاده کرد.

  • remove(): عنصری با مقدار مشخص را از لیست حذف می کند.
Python
numbers.remove(3)  # لیست numbers به صورت [1, 2, 4, 5, 6] در خواهد آمد
  • del: عنصر با شاخص مشخص را از لیست حذف می کند.
Python
del mixed_data[2]  # لیست mixed_data به صورت ["پایتون", "داده جدید", 10.5, "سلام"] در خواهد آمد

6. پیمایش در لیست:

برای پیمایش در لیست و انجام عملیات بر روی هر عنصر، می توان از حلقه های for استفاده کرد.

Python
# دو برابر کردن هر عدد در لیست numbers
for number in numbers:
  print(number * 2)

# چاپ نوع هر عنصر در لیست mixed_data
for item in mixed_data:
  print(type(item))

7. ترکیب لیست ها:

می توان با استفاده از عملگر + یا متد extend() لیست ها را با یکدیگر ترکیب کرد.

  • +: لیست ها را به صورت یک لیست جدید با عناصر اولی از لیست سمت چپ و سپس عناصر لیست سمت راست ترکیب می کند.
Python
list1 = [1, 2, 3]
list2 = [4, 5, 6]

combined_list = list1 + list2  # combined_list: [1, 2, 3, 4, 5, 6]
  • extend()

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

    نحوه عملکرد:

    فرض کنید لیست my_list1 شامل مقادیر [1, 2, 3] و لیست my_list2 شامل مقادیر [4, 5, 6] باشد.

    با اجرای دستور my_list1.extend(my_list2), لیست my_list1 به صورت [1, 2, 3, 4, 5, 6] تغییر خواهد یافت.

    تفاوت با append():

    • append() تنها یک عنصر را به انتهای لیست اضافه می‌کند، در حالی که extend() تمام عناصر یک iterable را الحاق می‌کند.

    مثال‌های کاربردی:

    1. الحاق دو لیست:

    Python
    my_list1 = [1, 2, 3]
    my_list2 = [4, 5, 6]
    
    my_list1.extend(my_list2)
    print(my_list1)  # خروجی: [1, 2, 3, 4, 5, 6]
    

    2. الحاق عناصر رشته:

    Python
    my_list = [1, 2, 3]
    my_string = "Hello"
    
    my_list.extend(my_string)
    print(my_list)  # خروجی: [1, 2, 3, 'H', 'e', 'l', 'l', 'o']
    

    3. الحاق تاپل:

    Python
    my_list = [10, 20, 30]
    my_tuple = (40, 50)
    
    my_list.extend(my_tuple)
    print(my_list)  # خروجی: [10, 20, 30, 40, 50]
    

    4. الحاق لیست به لیست تودرتو:

    Python
    parent_list = [[1, 2], [3, 4]]
    child_list = [5, 6]
    
    parent_list[0].extend(child_list)
    print(parent_list)  # خروجی: [[1, 2, 5, 6], [3, 4]]
    

    5. الحاق عناصر با شرط:

    Python
    numbers = [1, 2, 3, 4, 5, 6]
    even_numbers = [number for number in numbers if number % 2 == 0]
    
    numbers.extend(even_numbers)
    print(numbers)  # خروجی: [1, 2, 3, 4, 5, 6, 2, 4, 6]
    

    نکات:

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

     

8. بررسی عضویت در لیست:

می توان با استفاده از عملگر in بررسی کرد که آیا عنصری خاص در لیست وجود دارد یا خیر.

Python
if "سیب" in fruits:
  print("سیب در لیست میوه ها موجود است")
else:
  print("سیب در لیست میوه ها موجود نیست")

9. یافتن طول :

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

Python
list_length = len(mixed_data)
print(f"طول لیست mixed_data برابر با {list_length} است")

10. کپی کردن :

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

  • ایجاد کپی با برش ([:]):
Python
list_copy = mixed_data[:]  # لیست copy به طور کامل محتوای mixed_data را کپی می کند
  • استفاده از تابع copy() از ماژول copy:
Python
import copy

copied_list = copy.copy(mixed_data)  # لیست copied_list به طور کامل محتوای mixed_data را کپی می کند

11. مرتب سازی :

می توان با استفاده از متد sort() لیست را به ترتیب صعودی یا نزولی مرتب کرد.

Python
numbers.sort()  # لیست numbers به صورت [1, 2, 3, 4, 5, 6] مرتب می شود

numbers.sort(reverse=True)  # لیست numbers به صورت [6, 5, 4, 3, 2, 1] (نزولی) مرتب می شود

12. معکوس کردن :

می توان با استفاده از متد reverse() ترتیب عناصر لیست را معکوس کرد.

Python
fruits.reverse()  # لیست fruits به صورت ["انگور", "موز", "سیب"] در خواهد آمد

13. حذف عناصر تکراری :

برای حذف عناصر تکراری از لیست، می توان از مجموعه ها (set) به عنوان واسطه استفاده کرد.

Python
unique_numbers = list(set(numbers))  # لیست unique_numbers فقط شامل مقادیر منحصربفرد لیست numbers خواهد بود

14. کار با زیر لیست ها:

می توان با استفاده از برش ([:]) زیر لیست هایی از لیست اصلی استخراج کرد.

Python
first_three = numbers[:3]  # زیر لیست first_three شامل سه عنصر اول لیست numbers خواهد بود (یعنی [1, 2, 3])

last_two = mixed_data[-2:]   # زیر لیست last_two شامل دو عنصر آخر لیست mixed_data خواهد بود (یعنی [10.5, "سلام"])

15. جمع آوری عناصر از لیست بر اساس شرط:

می توان با استفاده از لیست comprehension یا متد filter() عناصری از لیست را که شرط خاصی را دارند، در یک لیست جدید جمع آوری کرد.

Python
even_numbers = [number for number in numbers if number % 2 == 0]  # لیست even_numbers شامل تمام اعداد زوج در لیست numbers خواهد بود

positive_numbers = list(filter(lambda x: x > 0, numbers))  # لیست positive_numbers شامل تمام اعداد بزرگتر از صفر در لیست numbers خواهد بود

16. کاربردهای لیست در پایتون:

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

  • ذخیره سازی مجموعه داده ها
  • مدل سازی روابط بین داده ها
  • تجزیه و تحلیل داده ها
  • الگوریتم ها و ساختارهای داده
  • توسعه وب
  • اسکریپت نویسی اتوماسیون
  • یادگیری ماشین
  • هوش مصنوعی

17. منابع برای مطالعه بیشتر:

5/5 ( 1 امتیاز )
نمایش بیشتر

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

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

دکمه بازگشت به بالا