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]