Python is my life !!!

پایتون

Python is my life !!!

پایتون

Python is my life !!!

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

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

اگر میخواستید در پایتون لیستی از اعداد 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]]

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

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

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی