مدرسه زبان برنامه‌نویسی PYTHON

وبلاگی جهت معرفی - آموزش و تحلیل زبان برنامه نویسی ‍پایتون

مدرسه زبان برنامه‌نویسی PYTHON

وبلاگی جهت معرفی - آموزش و تحلیل زبان برنامه نویسی ‍پایتون

list comprehensions

چهارشنبه, ۱۲ تیر ۱۳۹۸، ۱۱:۳۶ ق.ظ

list comprehensions

درک مطلب ها یک راه مفید برای ایجاد سریع لیست هایی است که محتویات آنها به یک قاعده ساده احتیاج دارند.
به عنوان مثال، ما می توانیم موارد زیر را انجام دهیم:

# a list comprehension
cubes = [i**3 for i in range(5)]

print(cubes)

خروجی:

>>>
[0, 1, 8, 27, 64]
>>>

نکته:فراخوانی فهرست توسط نماد set-builder در ریاضیات الهام گرفته شده است.

درک مطلب نیز می تواند شامل یک عبارت if باشد تا یک شرط را برای مقادیر موجود در لیست اجرا کند.
مثال:

evens=[i**2 for i in range(10) if i**2 % 2 == 0]

print(evens)

خروجی:

>>>
[0, 4, 16, 36, 64]
>>>

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

even = [2*i for i in range(10**100)]

خروجی:

>>>
MemoryError
>>>

نکته:این مسئله توسط ژنراتورها حل شده است که در ماژول بعدی پوشش داده شده است.

موافقین ۰ مخالفین ۰ ۹۸/۰۴/۱۲
سعید دامغانیان

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

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