កំរង list ស្រដៀងនឹងកំរង tuple ដែរ ព្រោះវាក៏ដូចជាកំរងបើកមួយ ដែលនៅក្នុងនោះអាចមានវត្ថុជាច្រើន តំរៀបជូរគ្នាតាមលេខរៀងចាប់ពី 0 ឡើងទៅ បើរាប់ពីដើមកំរងឡើងទៅ និងមានលេខរៀងចាប់ពី -1 ចុះមក បើយើងរាប់ពីចុងកំរងចុះមកវិញ។
ដើម្បីបង្កើតកំរង list យើងត្រូវធ្វើដូចខាងក្រោមនេះ
mylist = [100, 10.5, "profit", True, 200, "sale", False] print(mylist)
យើងអាចយកកំរង list ផ្សេងៗ មកធ្វើប្រមាណវិធី concatenation operation ដូចខាងក្រោមនេះ៖
list1 = [100, 10.5, "profit", True, 200, "sale", False] list2 = [200, False, 3.14] print(list1 + list2)
យើងក៏អាចយកកំរង list ផ្សេងៗមកធ្វើប្រមាណវិធី repetition operation បានដែរ។
list = [100, 10.5, "profit", True] print(list * 3)
លើសពីនេះទៀត កំរង list ផ្សេងៗ ក៏អាចត្រូវយកមកធ្វើប្រមាណវិធី logical operation បានដែរ។
list1 = [100, 10.5, "profit", True] list2 = [] print(list1 and list2) print(list1 or list2) print(not list1) print(not list2)
[100, 10.5, 'profit', True]
False
True
នៅក្នុងការធ្វើប្រមាណវិធី logical opeartion កំរង list ទទេ សមមូលនឹង False ។
មួយវិញទៀត យើងអាចយកកំរង list ផ្សេងៗមកធ្វើប្រមាណវិធីប្រៀបធៀបដូចខាងក្រោមនេះ៖
list1 = [100, 10.5, 300, 0.33] list2 = [200, 0.5, 50 ] print(list1 == list2) print(list1 != list2) print(list1 > list2) print(list1 < list2) print(list1 >= list2) print(list1 <= list2)
True
False
True
False
True
ដូចគ្នានឹងកំរង tuple ដែរ ប្រមាណវិធីប្រៀបធៀបរវាងកំរង list ផ្សេងៗ គឺជាប្រមាណវិធីប្រៀបធៀបតាមរបៀបវចនានុក្រម។
យើងអាចយកកំរង list ទាំងឡាយមកធ្វើប្រមាណវិធី membership operation ដូចខាងក្រោមនេះ៖
list = [100, 10.5, "sale", 300, 0.33] item = "sale" print(item in list) print(item not in list)
False
យើងអាចយកកំរង list ផ្សេងៗមកធ្វើប្រមាណវិធី identification operation ដូចខាងក្រោមនេះ៖
list1 = [100, 10.5, "sale", 300, 0.33] list2 = list1 list3 = [100, 10.5, "sale", 300, 0.33] print(list1 is list2) print(list1 is list3) print(list is not list3)
False
True
យើងអាចយកកំរង list ទាំងឡាយមកធ្វើប្រមាណវិធី indexing operation ដូចខាងក្រោមនេះ៖
list = [100, 10.5, "sale", 300, 0.33] print(list[2]) list[2] = "buy" print(list[2])
buy
ដូចនេះ យើងឃើញថា element នៅក្នុងកំរង list អាចត្រូវជំនួសដោយវត្ថុផ្សេងទៀតបាន។ គឺលក្ខណៈនេះហើយ ដែលធ្វើអោយកំរង list ខុសពីកំរង tuple និង string ។ element នៅក្នុងកំរង tuple និងstring ដែលជាឃ្លាប្រយោគទាំងឡាយ មិនអាចត្រូវដោះដូរឬជំនួសដោយវត្ថុផ្សេងទៀតបានឡើយ។ ការប៉ុនប៉ងដោះដូរ element នៅក្នុងកំរង tuple និង string នឹងបណ្តាលអោយកំហុសកើតមានឡើង។
នៅក្នុងភាសា Python គ្រប់វត្ថុទាំងឡាយណា ដែលមាន element អាចត្រូវដោះដូរបាន គឺជាវត្ថុ mutable និងគ្រប់វត្ថុទាំងឡាយណាដែលមាន element មិនអាចត្រូវដោះដូរបាន គឺជាវត្ថុ immutable ។ ជាលទ្ធផល វត្ថុដែលជា លេខ boolean, None, string និង កំរង tuple គឺជាវត្ថុ immutable ។ ចំណែកឯកំរង list វិញ គឺជាវត្ថុ mutable ។
យ៉ាងណាម៉ិញ យើងអាចយកកំរង list ផ្សេងៗ មកធ្វើប្រមាណវិធី slicing operation ដូចខាងក្រោមនេះ៖
list = [100, 1.5, "name", True, 200, 3.5, "profit", "last name"] print(list[1:7]) print(list[1:]) print(list[:7]) print(list[:]) print(list[1:7:2])
[1.5, 'name', True, 200, 3.5, 'profit', 'last name']
[100, 1.5, 'name', True, 200, 3.5, 'profit']
[100, 1.5, 'name', True, 200, 3.5, 'profit', 'last name']
[1.5, True, 3.5]
ដោយហេតុថា កំរង list គឺជាវត្ថុដែលមានលក្ខណៈជា mutable ដូចនេះយើងអាចយកវាមកធ្វើប្រមាណវិធី slicing operation ដើម្បីដោះដូរ element របស់វាមួយចំនួនដូចខាងក្រោមនេះ៖
list = [100, 1.5, "name", True, 200, 3.5, "profit", "last name"] list[1:7] = [1, 2, 3, 4, 5, 6] print(list)
វត្ថុដែលត្រូវយកទៅជំនួសបណ្តា element នៅក្នុងកំរង list អាចជាវត្ថុដែលជា element របស់កំរង tuple ក៏បានដែរ។
list = [100, 1.5, "name", True, 200, 3.5, "profit", "last name"] list[1:7] = (1, 2, 3, 4, 5, 6) print(list)
ក្រៅពីការដោះដូរនិងឬបន្ថែមបន្ថយ element នៃកំរង list យើងក៏អាចលុប element ចេញពីកំរង list បានដែរ ដោយប្រើប្រាស់បញ្ជា del ។
list = [100, 1.5, "name", True, 200, 3.5, "profit", "last name"] list[1:7] = (1, 2, 3, 4, 5, 6) print(list) del list[2] print(list) del list[1:7] print(list)
[100, 1, 3, 4, 5, 6, 'last name']
[100]