មានវិធីពីរយ៉ាងដើម្បីតម្រៀបបញ្ជីតាមលំដាប់ឡើង ឬចុះក្នុង Python ។
sort()
sorted()
ប្រសិនបើអ្នកចង់តម្រៀបខ្សែអក្សរ ឬ tuple សូមប្រើ sorted()។
ព័ត៌មានខាងក្រោមត្រូវបានផ្តល់ជូននៅទីនេះ។
- វិធីសាស្រ្តនៃបញ្ជីប្រភេទដែលតម្រៀបបញ្ជីដើម
sort()
- បង្កើតបញ្ជីតម្រៀបថ្មី មុខងារដែលភ្ជាប់មកជាមួយ៖ .
sorted()
- របៀបតម្រៀបខ្សែនិង tuples
ការតម្រៀបបញ្ជីដើម វិធីសាស្រ្តនៃបញ្ជីប្រភេទ៖ sort()
sort() គឺជាវិធីសាស្រ្តនៃប្រភេទបញ្ជី។
ដំណើរការបំផ្លិចបំផ្លាញដែលបញ្ជីដើមខ្លួនឯងត្រូវបានសរសេរឡើងវិញ។
org_list = [3, 1, 4, 5, 2]
org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]
ចំណាំថា sort() ត្រឡប់គ្មាន។
print(org_list.sort())
# None
លំនាំដើមគឺលំដាប់ឡើង។ ប្រសិនបើអ្នកចង់តម្រៀបតាមលំដាប់ចុះ សូមកំណត់អាគុយម៉ង់បញ្ច្រាសទៅពិត។
org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]
បង្កើតបញ្ជីតម្រៀបថ្មី មុខងារភ្ជាប់មកជាមួយ៖ តម្រៀប()
sorted() គឺជាមុខងារដែលភ្ជាប់មកជាមួយ។
ត្រឡប់បញ្ជីដែលបានតម្រៀប នៅពេលដែលបញ្ជីដែលត្រូវតម្រៀបត្រូវបានបញ្ជាក់ជាអាគុយម៉ង់។ នេះគឺជាដំណើរការដែលមិនបំផ្លិចបំផ្លាញ ដែលមិនផ្លាស់ប្តូរបញ្ជីដើម។
org_list = [3, 1, 4, 5, 2]
new_list = sorted(org_list)
print(org_list)
print(new_list)
# [3, 1, 4, 5, 2]
# [1, 2, 3, 4, 5]
ដូចនឹង sort() លំនាំដើមគឺលំដាប់ឡើង។ ប្រសិនបើអ្នកចង់តម្រៀបតាមលំដាប់ចុះ សូមកំណត់អាគុយម៉ង់បញ្ច្រាសទៅពិត។
new_list_reverse = sorted(org_list, reverse=True)
print(org_list)
print(new_list_reverse)
# [3, 1, 4, 5, 2]
# [5, 4, 3, 2, 1]
របៀបតម្រៀបខ្សែនិង tuples
ដោយសារខ្សែអក្សរ និង tuples មិនអាចផ្លាស់ប្តូរបាននោះ មិនមានវិធីសាស្រ្ត sort() ដែលអាចសរសេរឡើងវិញនូវវត្ថុដើមបានទេ។
ម្យ៉ាងវិញទៀត អាគុយម៉ង់នៃអនុគមន៍ sorted() ដែលបង្កើតបញ្ជីតម្រៀបជាវត្ថុថ្មី អាចជាខ្សែអក្សរ ឬ tuple ក៏ដូចជាបញ្ជី។ ទោះយ៉ាងណាក៏ដោយ ដោយសារ sorted() ត្រឡប់បញ្ជីមួយ វាចាំបាច់ត្រូវបំប្លែងទៅជា string ឬ tuple។
តម្រៀបខ្សែ
នៅពេលដែលខ្សែអក្សរមួយត្រូវបានបញ្ជាក់ជាអាគុយម៉ង់នៃអនុគមន៍តម្រៀប() បញ្ជីមួយត្រូវបានត្រលប់មកវិញ ដែលតួអក្សរនីមួយៗនៃខ្សែអក្សរដែលបានតម្រៀបត្រូវបានរក្សាទុកជាធាតុមួយ។
org_str = 'cebad'
new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']
ដើម្បីភ្ជាប់បញ្ជីខ្សែអក្សរទៅក្នុងខ្សែតែមួយ សូមប្រើវិធី join() ។
new_str = ''.join(new_str_list)
print(new_str)
# abcde
ប្រសិនបើអ្នកចង់តម្រៀបតាមលំដាប់ចុះ សូមកំណត់អាគុយម៉ង់បញ្ច្រាសទៅពិត។
new_str = ''.join(sorted(org_str))
print(new_str)
# abcde
new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba
ទំហំនៃខ្សែអក្សរត្រូវបានកំណត់ដោយចំណុចកូដយូនីកូដ (កូដតួអក្សរ) នៃតួអក្សរ។
ការតម្រៀប tuples
Tuples គឺដូចគ្នានឹងខ្សែអក្សរ; ការបញ្ជាក់ tuple ជាអាគុយម៉ង់នៃអនុគមន៍ sorted() ត្រឡប់បញ្ជីធាតុដែលបានតម្រៀប។
org_tuple = (3, 1, 4, 5, 2)
new_tuple_list = sorted(org_tuple)
print(org_tuple)
print(new_tuple_list)
# (3, 1, 4, 5, 2)
# [1, 2, 3, 4, 5]
ដើម្បីបំប្លែងបញ្ជីទៅជា tuple សូមប្រើ tuple()។
new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)
ប្រសិនបើអ្នកចង់តម្រៀបតាមលំដាប់ចុះ សូមកំណត់អាគុយម៉ង់បញ្ច្រាសទៅពិត។
new_tuple = tuple(sorted(new_tuple_list))
print(new_tuple)
# (1, 2, 3, 4, 5)
new_tuple_reverse = tuple(sorted(new_tuple_list, reverse=True))
print(new_tuple_reverse)
# (5, 4, 3, 2, 1)