فرز قائمة في بايثون: الفرق بين مرتبة وفرز

اعمال

هناك طريقتان لفرز القائمة بترتيب تصاعدي أو تنازلي في بايثون.

  • sort()
  • sorted()

إذا كنت تريد فرز سلسلة أو مجموعة ، فاستخدم Sorted ().

يتم توفير المعلومات التالية هنا.

  • طريقة قائمة النوع تقوم بفرز القائمة الأصليةsort()
  • قم بإنشاء قائمة مرتبة جديدة ، وظيفة مضمنة:.sorted()
  • كيفية فرز السلاسل والجداول

فرز القائمة الأصلية ، طريقة قائمة النوع: فرز ()

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 ()

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]

كيفية فرز السلاسل والجداول

نظرًا لأن السلاسل النصية والجداول غير قابلة للتغيير ، فلا توجد طريقة sort () متاحة لإعادة كتابة الكائن الأصلي.

من ناحية أخرى ، يمكن أن تكون وسيطة الدالة Sorted () ، التي تنشئ قائمة مرتبة ككائن جديد ، عبارة عن سلسلة أو مجموعة بالإضافة إلى قائمة. ومع ذلك ، نظرًا لأن Sorted () تُرجع قائمة ، فيجب تحويلها إلى سلسلة أو tuple.

فرز السلاسل

عندما يتم تحديد سلسلة كوسيطة للدالة Sorted () ، يتم إرجاع قائمة يتم فيها تخزين كل حرف من السلسلة التي تم فرزها كعنصر.

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

يتم تحديد حجم السلسلة بواسطة نقطة رمز Unicode (رمز الحرف) للحرف.

فرز المجموعات

المجموعات هي نفس السلاسل. يؤدي تحديد 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 ().

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)