لیستهای تولیدی (List Comprehensions) یکی از قابلیتهای قدرتمند و ساده در پایتون است که به شما این امکان را میدهد تا بهصورت مختصر و کارآمد، لیستهای جدیدی بر اساس لیستهای موجود ایجاد کنید. این روش یک جایگزین سادهتر و سریعتر برای ایجاد لیستها با استفاده از حلقههای for
است.
ساختار کلی
ساختار کلی
ساختار یک لیست تولیدی به این صورت است:
new_list = [expression for item in iterable if condition]
expression
: یک عبارتی است که نتیجه آن به عنوان یک عنصر در لیست جدید قرار میگیرد.item
: یک متغیر است که هر کدام از عناصر لیست یا مجموعه اصلی (iterable
) را در یک لحظه در خود نگه میدارد.iterable
: مجموعه یا لیستی است که از آن عناصر برای ساخت لیست جدید انتخاب میشوند.condition
(اختیاری): یک شرط است که فقط در صورتی که برقرار باشد،expression
اجرا شده و نتیجه آن به لیست جدید اضافه میشود.
مثالهای کاربردی
مثالهای کاربردی
تولید لیست از اعداد:
تولید لیست از اعداد:
فرض کنید میخواهید یک لیست از مربع اعداد ۱ تا ۱۰ بسازید:
squares = [x**2 for x in range(1, 11)] print(squares)
خروجی:
[۱, ۴, ۹, ۱۶, ۲۵, ۳۶, ۴۹, ۶۴, ۸۱, ۱۰۰]
فیلتر کردن با شرط:
فیلتر کردن با شرط:
در این مثال، فقط اعداد زوج را از ۱ تا ۱۰ انتخاب و مربع آنها را محاسبه میکنیم:
even_squares = [x**2 for x in range(1, 11) if x % 2 == 0] print(even_squares)
خروجی:
[۴, ۱۶, ۳۶, ۶۴, ۱۰۰]
تبدیل رشتهها به حروف بزرگ:
تبدیل رشتهها به حروف بزرگ:
در این مثال، میخواهیم تمامی کلمات یک لیست را به حروف بزرگ تبدیل کنیم:
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)
خروجی:
[(۱, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
مزایای لیستهای تولیدی:
مزایای لیستهای تولیدی:
- کوتاهتر و خواناتر: کدها به صورت خلاصه و تمیز نوشته میشوند.
- کارایی بالاتر: لیستهای تولیدی به دلیل استفاده بهینه از حافظه و پردازش، کارایی بیشتری نسبت به حلقههای
for
دارند.
لیستهای تولیدی یکی از ابزارهای بسیار کارآمد برای نوشتن کدهای پایتون است که یادگیری و استفاده از آنها میتواند برنامهنویسی شما را بهبود بخشد.