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