درک مطلب ها یک راه مفید برای ایجاد سریع لیست هایی است که محتویات آنها به یک قاعده ساده احتیاج دارند. به عنوان مثال، ما می توانیم موارد زیر را انجام دهیم:
# 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
>>>
نکته:این مسئله توسط ژنراتورها حل شده است که در ماژول بعدی پوشش داده شده است.