ការតម្រៀបបញ្ជីនៅក្នុង Python៖ ភាពខុសគ្នារវាងការតម្រៀប និងតម្រៀប

អាជីវកម្ម

មានវិធីពីរយ៉ាងដើម្បីតម្រៀបបញ្ជីតាមលំដាប់ឡើង ឬចុះក្នុង 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)
Copied title and URL