List Comprehension គឺជាកំរង list ម៉្យាងមានសណ្ឋានជារូបមន្តសំរាប់បង្កើតកំរង list ធម្មតាថ្មីៗទៀត។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
newList = [obj + 10 for obj in [1, 2, 3]] print(newList)
[11, 12, 13]
កម្មវិធីខាងលើនេះ អាចត្រូវសរសេរតាមរបៀបធម្មតាដូចខាងក្រោមនេះ៖
newList = []
for obj in (1, 2, 3):
newList.append(obj + 10)
print(newList)
[11, 12, 13]
នៅក្នុងការបង្កើត list comprehension ក្រៅពី expression យើងក៏អាចប្រើប្រាស់ function ផ្សេងៗទៀតបានដែរ សំរាប់បង្កើតកំរង list ថ្មីៗទៀត។
def sum(obj):
return obj + 10
newList = [sum(obj) for obj in (1, 2, 3)]
print(newList)
[11, 12, 13]
លើសពីនេះទៀត យើងក៏អាចប្រើប្រាស់ statement if មួយទៀត នៅក្នុង list comprehension ដើម្បីធ្វើការជ្រើសរើសផ្សេងៗ នៅក្នុងការបង្កើត element សំរាប់កំរង list ថ្មី។
def sum(obj):
return obj + 10
newList = [sum(obj) for obj in (1, 2, 3) if obj != 2]
print(newList)
[11, 13]
មួយវិញទៀត function ដែលត្រូវយកមកប្រើប្រាស់នៅក្នុង list comprehension អាចជា function ប្រភេទណាក៏បានដែរ វាអាចជា generator function ក៏បានដែរ។
def sum(obj):
return obj + 10
def genFunc():
for obj in (1, 2, 3):
yield obj
newList = [sum(obj) for obj in genFunc() if obj != 2]
print(newList)
[11, 13]














