Python is my life !!!

پایتون

Python is my life !!!

پایتون

Python is my life !!!

برنامه نویس و طراح اپلیکیشن های تحت وب و مسلط به پایتون، جاوا اسکریپت، html، css، Angularjs و فریمورک Flask هستم ...

طبقه بندی موضوعی
بایگانی

۱ مطلب با کلمه‌ی کلیدی «inline-loop» ثبت شده است

اگر میخواستید در پایتون لیستی از اعداد 0 تا 10 داشته باشید از چه روشی استفاده میکردید؟

احتمالا از روش زیر:

>>> my_list = []
>>> for i in range(10):
...     my_list.append(i)
... 
>>> my_list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

در این روش ابتدا یک متغییر از نوع لیست ایجاد میکنیم و سپس در یک حلقه هر کدام از اعداد 0 تا 9 را به لیست به کمک متد append اضافه میکنیم.

اما روش های ساده تر نیز به نام حلقه های درون خطی برای انجام اینکار وجود دارد:

>>> my_list = [i for i in range(10)]
>>> my_list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

مساله به قدری ساده است که نیاز به هیچ توضیح اضافه ای ندارد و به سادگی با چند مثال قابل فهم است.

>>> [i * 2 for i in range(10)]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

حتی میتوانید از شروط درون خطی هم در حلقه های درون خطی استفاده نمایید:

>>> [i * 2 for i in range(10) if i % 2 == 0]
[0, 4, 8, 12, 16]
>>> [i * 2 if i % 2 == 0 else i for i in range(10)]
[0, 1, 4, 3, 8, 5, 12, 7, 16, 9]

یا حتی میتوانید حلقه های تو در تو ایجاد کنید:

>>> [i * j for i in range(4) for j in range(4)]
[0, 0, 0, 0, 0, 1, 2, 3, 0, 2, 4, 6, 0, 3, 6, 9]

و یا به کمک حلقه های تو در تو لیست های چند بعدی ایجاد کنید:

>>> [[i * j for j in range(4)] for i in range(4)]
[[0, 0, 0, 0], [0, 1, 2, 3], [0, 2, 4, 6], [0, 3, 6, 9]]

ضمن اینکه باید مراقب باشید که استفاده از حلقه های درون خطی و شروط درون خطی باعث طولانی شدن یک خط از کدهای شما نشود چون زیبایی کدها را از بین برده و باعث پیچیدگی و غیرقابل فهم شدن آنها خواهد شد.

با کمی تلاش بیشتر و نوشتن مثال های دیگر برای خودتان به راحتی میتوانید استفاده از حلقه های درون خطی را یاد بگیرید.

  • Saeid