List Comprehension در پایتون چیست؟
List Comprehension یکی از قابلیتهای کاربردی و جذاب زبان پایتون است که به ما اجازه میدهد با استفاده از یک دستور کوتاه، لیستهای جدید ایجاد کنیم.
اگر با لیستها و حلقه for در پایتون آشنا باشید،
یادگیری List Comprehension برایتان بسیار ساده خواهد بود.
List Comprehension چیست؟
در حالت معمول برای ساختن یک لیست جدید ممکن است از حلقه
for استفاده کنیم.
برای مثال میخواهیم مربع اعداد 1 تا 5 را داخل یک لیست قرار دهیم.
روش معمول با حلقه for
squares = []
for number in numbers:
squares.append(number ** 2)
print(squares)
خروجی:
همان مثال با List Comprehension
squares = [number ** 2 for number in numbers]
print(squares)
خروجی:
همان کاری که با چند خط کد انجام دادیم، با List Comprehension در یک خط انجام شد.
ساختار List Comprehension
ساختار ساده آن به شکل زیر است:
اجزای این ساختار:
- expression: مقداری که قرار است وارد لیست شود.
- item: هر عنصر از مجموعه.
- iterable: مجموعهای که روی آن پیمایش انجام میشود.
مثال ساده
فرض کنید میخواهیم اعداد 1 تا 10 را داخل یک لیست قرار دهیم:
print(numbers)
خروجی:
استفاده از شرط در List Comprehension
یکی از قابلیتهای مهم List Comprehension استفاده از شرط
if است.
برای مثال میخواهیم فقط اعداد زوج را از بین اعداد 1 تا 10 انتخاب کنیم:
print(even_numbers)
خروجی:
مثال: پیدا کردن اعداد بزرگتر از 5
result = [x for x in numbers if x > 5]
print(result)
خروجی:
تغییر مقدار عناصر با List Comprehension
میتوانیم هنگام ساخت لیست جدید، مقدار عناصر را نیز تغییر دهیم.
برای مثال، دو برابر کردن اعداد:
result = [x * 2 for x in numbers]
print(result)
خروجی:
کار با رشتهها
List Comprehension فقط برای اعداد نیست و میتوان از آن برای کار با رشتهها نیز استفاده کرد.
result = [name.upper() for name in names]
print(result)
خروجی:
List Comprehension تو در تو
در بعضی شرایط میتوان از بیش از یک حلقه for
در List Comprehension استفاده کرد.
برای مثال:
print(result)
خروجی:
مزایای List Comprehension
- کاهش تعداد خطوط کد
- خوانایی مناسب در مثالهای ساده
- روش سریع و کاربردی برای ساخت لیست
- امکان استفاده از شرط
- مناسب برای تبدیل و فیلتر کردن دادهها
چه زمانی از List Comprehension استفاده نکنیم؟
کوتاه بودن کد همیشه به معنی بهتر بودن آن نیست. اگر List Comprehension بسیار پیچیده شود، ممکن است خواندن و درک آن سخت شود.
بنابراین بهتر است از آن برای عملیات ساده و قابل فهم استفاده کنیم.
تمرین List Comprehension
تمرین 1:
با استفاده از List Comprehension لیستی از مربع اعداد 1 تا 10 ایجاد کنید.
تمرین 2:
از لیست زیر فقط اعداد زوج را انتخاب کنید:
تمرین 3:
با استفاده از List Comprehension تمام کلمات یک لیست را به حروف بزرگ تبدیل کنید.
جمعبندی
List Comprehension یکی از روشهای ساده و کاربردی برای ایجاد لیست در پایتون است. با استفاده از آن میتوانیم روی یک مجموعه پیمایش کنیم، مقادیر را تغییر دهیم و حتی با استفاده از شرط، عناصر خاصی را انتخاب کنیم.
اگر تازه با پایتون شروع کردهاید، ابتدا حلقه
for را به خوبی یاد بگیرید و سپس از List Comprehension
استفاده کنید.
مطالب مرتبط
- آموزش List در پایتون
- آموزش توابع در پایتون
- آموزش حلقهها در پایتون
- آموزش شرط if در پایتون
- آموزش Package و pip در پایتون
سؤالات متداول
List Comprehension در پایتون چیست؟
List Comprehension روشی کوتاه و خوانا برای ایجاد لیستهای جدید در پایتون است.
آیا List Comprehension همان حلقه for است؟
از نظر کاربرد میتوان در بسیاری از موارد از List Comprehension برای کاری مشابه حلقه for استفاده کرد، اما ساختار و کاربرد آن متفاوت است.
آیا List Comprehension فقط برای List استفاده میشود؟
List Comprehension مخصوص ایجاد لیست است، اما پایتون ساختارهای مشابهی مانند Set Comprehension و Dictionary Comprehension نیز دارد.