កំរង 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)

 

នៅ​ក្នុង​ការធ្វើ​ប្រមាណវិធី 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)

 

ដូចគ្នា​នឹង​កំរង tuple ដែរ ប្រមាណវិធី​ប្រៀបធៀប​រវាង​កំរង list ផ្សេង​ៗ គឺ​ជា​ប្រមាណវិធី​ប្រៀបធៀប​តាម​របៀប​វចនានុក្រម​។

 

យើង​អាច​យក​កំរង list ទាំងឡាយ​មក​ធ្វើ​ប្រមាណវិធី membership operation ដូច​ខាង​ក្រោម​នេះ៖

 

list = [100, 10.5, "sale", 300, 0.33]
item = "sale"
 
print(item in list)
print(item not in list)

 

យើង​អាច​យក​កំរង 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)

 

យើង​អាច​យក​កំរង list ទាំងឡាយ​មក​ធ្វើ​ប្រមាណវិធី indexing operation ដូច​ខាង​ក្រោម​នេះ៖

 

list = [100, 10.5, "sale", 300, 0.33]
 
print(list[2])
list[2] = "buy"
print(list[2])

 

ដូចនេះ យើង​ឃើញ​ថា 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])

 

ដោយ​ហេតុ​ថា កំរង 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)