لیستهای تولیدی (List Comprehensions) یکی از قابلیتهای قدرتمند و ساده در پایتون است که به شما این امکان را میدهد تا بهصورت مختصر و کارآمد، لیستهای جدیدی بر اساس لیستهای موجود ایجاد کنید. این روش یک جایگزین سادهتر و سریعتر برای ایجاد لیستها با استفاده از حلقههای for است.
   ساختار کلی   
  ساختار کلی 
 ساختار یک لیست تولیدی به این صورت است:
new_list = [expression for item in iterable if condition]
expression: یک عبارتی است که نتیجه آن به عنوان یک عنصر در لیست جدید قرار میگیرد.item: یک متغیر است که هر کدام از عناصر لیست یا مجموعه اصلی (iterable) را در یک لحظه در خود نگه میدارد.iterable: مجموعه یا لیستی است که از آن عناصر برای ساخت لیست جدید انتخاب میشوند.condition(اختیاری): یک شرط است که فقط در صورتی که برقرار باشد،expressionاجرا شده و نتیجه آن به لیست جدید اضافه میشود.
   مثالهای کاربردی   
  مثالهای کاربردی 
    تولید لیست از اعداد:   
  تولید لیست از اعداد: 
 فرض کنید میخواهید یک لیست از مربع اعداد 1 تا 10 بسازید:
squares = [x**2 for x in range(1, 11)] print(squares)
خروجی:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
   فیلتر کردن با شرط:   
  فیلتر کردن با شرط: 
 در این مثال، فقط اعداد زوج را از 1 تا 10 انتخاب و مربع آنها را محاسبه میکنیم:
even_squares = [x**2 for x in range(1, 11) if x % 2 == 0] print(even_squares)
خروجی:
[4, 16, 36, 64, 100]
   تبدیل رشتهها به حروف بزرگ:   
  تبدیل رشتهها به حروف بزرگ: 
 در این مثال، میخواهیم تمامی کلمات یک لیست را به حروف بزرگ تبدیل کنیم:
words = ["python", "is", "awesome"] upper_words = [word.upper() for word in words] print(upper_words)
خروجی:
['PYTHON', 'IS', 'AWESOME']
   تولید زوجهای مرتب (Tuple):   
  تولید زوجهای مرتب (Tuple): 
 میتوانیم زوجهای مرتب از دو لیست تولید کنیم:
list1 = [1, 2, 3] list2 = ['a', 'b', 'c'] paired = [(x, y) for x in list1 for y in list2] print(paired)
خروجی:
[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
   مزایای لیستهای تولیدی:   
  مزایای لیستهای تولیدی: 
 - کوتاهتر و خواناتر: کدها به صورت خلاصه و تمیز نوشته میشوند.
 - کارایی بالاتر: لیستهای تولیدی به دلیل استفاده بهینه از حافظه و پردازش، کارایی بیشتری نسبت به حلقههای 
forدارند. 
لیستهای تولیدی یکی از ابزارهای بسیار کارآمد برای نوشتن کدهای پایتون است که یادگیری و استفاده از آنها میتواند برنامهنویسی شما را بهبود بخشد.
 
 


