
خلاصه نویسی لیست ها در پایتون
در این بخش به بررسی نحوه خلاصه نویسی لیست ها در پایتون می پردازیم.
List comprehension در زبان برنامه نویسی پایتون یک روش مختصر و خوانا برای ایجاد لیستهای جدید بر اساس لیستهای موجود است. این روش شامل یک عبارت اولیه (expression)، مقداردهی متغیرها (variable assignment) و یک یا چند شرط فیلترینگ (condition) است.
با list comprehension، میتوان با استفاده از یک خط کد، به راحتی لیستهای جدیدی را بر اساس لیستهای موجود ایجاد کرد.
برای مثال، فرض کنید که یک لیست از اعداد داریم و میخواهیم یک لیست جدیدی ایجاد کنیم که حاوی مربع اعداد لیست اول باشد، میتوانیم از لیست کامل به صورت زیر استفاده کنیم:
در این مثال، عبارت
x**2
برای هر عضو لیست numbers
اعمال شده و مقدار مربع آن در لیست جدید squares
ذخیره شده است.در لیست کامل، میتوان یک شرط فیلترینگ نیز اضافه کرد تا فقط مقادیر مشخصی که به شرط فیلترینگ مطابقت دارند در لیست جدید ذخیره شوند.
برای مثال، فرض کنید که میخواهیم فقط اعداد زوج در لیست جدید قرار دهیم، در این صورت میتوانیم کد زیر را بهکار بریم:
در این مثال، عبارت
x**2
فقط برای اعداد زوج لیست numbers
اعمال شده و مقادیر مربع آنها در لیست جدید even_squares
ذخیره شده است. شرط فیلترینگ x % 2 == 0
نیز برای انتخاب اعداد زوج استفاده شده است.با استفاده از روش خلاصه نویسی لیست ها، میتوان عملیاتهای پیچیدهتری را نیز انجام داد. این روش به برنامهنویسان کمک میکند تا کد خوانا و کمتری بنویسند و از ایجاد لیستها با حلقههای for
و if
پیچیده جلوگیری کنند.
مثال از List comprehension در پایتون
در اینجا تعداد زیادی مثال در رابطه با نحوه خلاصه نویسی لیست ها در پایتون آورده ایم که می تواند برای شما مفید باشد.
1. ایجاد لیست حروف بزرگ از یک رشته:
2. ایجاد لیست مقادیر Boolean بر اساس شرطی که بر روی لیست داده شده اعمال شود:
در اینجا، ما یک لیست از اعداد داریم و میخواهیم برای هر عدد در لیست، یک مقدار Boolean بسازیم که نشان دهد آیا آن عدد زوج است یا نه. به این منظور، ما از یک شرط if-else
درون عبارت list comprehension استفاده میکنیم تا برای هر عدد در لیست، یک مقدار True
یا False
تولید کنیم:
در این کد، ما با استفاده از
x % 2 == 0
شرطی برای تشخیص اعداد زوج و فرد استفاده کردیم. اگر این شرط برآورده شود، مقدار True
برای لیست جدید تولید میشود، در غیر این صورت، مقدار False
برای لیست جدید تولید میشود. این عملیات ما به عنوان یک Boolean expression به عنوان عبارت درون list comprehension استفاده شده است.3. ایجاد لیستی از مربعات اعداد زوج و دو برابر کردن اعداد فرد:
در اینجا، ما یک لیست از اعداد داریم و میخواهیم برای هر عدد در این لیست، مقداری جدید را بسازیم که اگر آن عدد زوج بود، مربع آن را برگرداند، در غیر این صورت، عدد را دو برابر کند. این کار را با استفاده از یک شرط if-else درون عبارت list comprehension انجام میدهیم:
در این کد، ما یک شرط if-else برای تشخیص اعداد زوج و فرد استفاده کردیم. اگر این شرط برآورده شود، ما مربع آن عدد را برای لیست جدید تولید میکنیم (x**2) و در غیر این صورت، مقدار آن عدد را دو برابر میکنیم (x*2). این عملیات ما به عنوان یک expression به عنوان عبارت درون list comprehension استفاده شده است. به همین دلیل، ما از دو نوع expression مختلف برای زوج و فرد بودن عدد استفاده کردهایم.
4. ایجاد لیستی از حروفی که فقط در دو رشته وجود دارند:
5. ایجاد لیستی از مربعات اعداد زوج در بازه ۱ تا ۱۰:
از این نمونهها میتوانید ببینید که list comprehension در پایتون یک روش خوانا و قدرتمند برای ایجاد لیستهای جدید بر اساس لیستهای موجود است.
6. نحوه ترکیب دو لیست:
در این مثال، ما دو لیست را داریم و میخواهیم هر دو را با یکدیگر ترکیب کنیم و لیست جدیدی از ترکیب آنها بسازیم:
در این کد، ما از دو حلقه for درون list comprehension استفاده کردیم تا هر دو لیست را با یکدیگر ترکیب کنیم و یک ترکیب از هر جفت مقدار ایجاد کنیم.
7. نحوه فیلتر کردن لیست:
در این مثال، ما یک لیست از اعداد داریم و میخواهیم فقط اعداد بزرگتر از ۵ را به لیست جدید اضافه کنیم:
در این کد، ما از یک شرط if درون list comprehension استفاده کردیم تا فقط اعداد بزرگتر از ۵ را به لیست جدید اضافه کنیم.
8. نحوه استفاده از توابع درون list comprehension:
در این مثال، ما یک لیست از رشتهها داریم و میخواهیم طول هر رشته را محاسبه کرده و یک لیست جدید از آنها بسازیم:
در این کد، ما از تابع len برای محاسبه طول هر رشته استفاده کردیم. با استفاده از تابع len میتوان طول یک رشته را بهصورت عددی بدست آورد. در این مثال، با استفاده از list comprehension، طول هر رشته در لیست جدیدی به نام lengths قرار گرفته است. به عنوان مثال، طول رشته “hello” برابر ۵ است که در لیست جدید lengths قرار میگیرد.
نکات مهم در رابطه با خلاصه نویسی لیست ها
نکته مهمی که در رابطه با list comprehension وجود دارد، این است که باید از آن بهطور صحیح استفاده شود. برای مثال، اگر از list comprehension برای ساخت یک لیست بزرگ و پیچیده استفاده شود، ممکن است کد به خوبی خوانا نباشد و برای توسعه و نگهداری سخت باشد.
همچنین، در استفاده از شرط if درون list comprehension باید مطمئن شد که شرط مورد نظر درست است و همچنین توجه داشت که ممکن است عملکرد کد با لیستهای بسیار بزرگ کند شود. در نهایت، مطمئن شوید که list comprehension تنها در صورتی که بهطور صحیح استفاده شود، کد خوانا و قابلنگهداری ایجاد میکند.
آیا این مطلب برای شما مفید بود ؟
روش تبريك گفتن در تولّد فرزند
(در حضور امام، شخصى با اين عبارت، تولّد نوزادى را تبريك گفت «قدم دلاورى يكّه سوار مبارك باد»)(1) درود خدا بر او، فرمود:
چنين مگو بلكه بگو: خداى بخشنده را شكرگزار، و نوزاد بخشيده بر تو مبارك، اميد كه بزرگ شود و از نيكوكارى اش بهرمند گردى.
- نوشتند: وقتی خدا به امام حسن مجتبی (ع) فرزندی عطا کرد، برخی با رسوم جاهلی او را تبریک گفتند که امیرالمؤمنین (ع) این رهنمود را مطرح فرمود.