logo

كيفية فرز Tuple في بايثون

Tuples هي نوع من أنواع البيانات للمتغير الذي يتيح لنا تخزين كائنات متعددة في مكان واحد. الصف هو مجموعة مرتبة وغير قابلة للتغيير (لا يمكننا تحديث العناصر في الصف) من العناصر. توجد 4 هياكل بيانات مدمجة في لغة Python لتخزين العناصر، إحداها عبارة عن صف، والأخرى عبارة عن قائمة وقاموس ومجموعة، ولكل منها مجموعة من الخصائص والاستخدامات الخاصة بها. وهي مكتوبة بين قوسين دائريين.

فرز Tuple في بايثون

باستخدام الفرز ()

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

مدخل

 tuple_ = ('Itika', 'Arshia', 'Peter', 'Parker') list(tuple_).sort() print(tuple_) print(type(tuple_)) 

انتاج:

1 مليون بالأرقام
 ('Itika', 'Arshia', 'Peter', 'Parker') 

باستخدام مرتبة ()

في Python، استخدم الدالة المضمنةsorted() لفرز Tuple. يجب تمرير الصف كوسيطة للدالة التي تم فرزها (). يتم فرز عناصر الصف (افتراضيًا) بترتيب تصاعدي في القائمة التي تُرجعها الدالة. يمكننا استخدام صف لتحويل نوع بيانات القائمة هذا إلى صف ().

يمكن أيضًا للمعلمة العكسية للوظيفة التي تم فرزها () تحديد ترتيب الفرز. تصاعدي هو ترتيب الفرز الافتراضي. يتم فرز العناصر بترتيب تنازلي عند تعيين عكس = صحيح. يمكننا أيضًا تحديد وظيفة رئيسية يتم استخدام قيمها المرتجعة لفرز العناصر. نحن نأخذ صفًا، tuple_، به قيم عددية، ونقوم بفرزه بترتيب تصاعدي في البرنامج التالي.

مدخل

 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

انتاج:

 Sorted Tuple : (1, 2, 3, 5, 6, 7, 24) 

الآن نقوم بفرز الصف بترتيب تنازلي باستخدام نفس الوظيفة. قم بالتمرير العكسي = صحيح للدالة التي تم فرزها () لفرز المجموعة بترتيب تنازلي.

حدد SQL باسم

مدخل

 tuple_ = (5, 2, 24, 3, 1, 6, 7) sorted_ = tuple(sorted(tuple_, reverse=True)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

انتاج:

 Sorted Tuple : (24, 7, 6, 5, 3, 2, 1) 

فرز Tuple بناءً على الوظيفة الرئيسية

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

مدخل

 tuple_ = ('abhd', 'sbchcwsc', 'sjs', 'sxshs') sorted_ = tuple(sorted(tuple_, key=len)) print('Sorted Tuple :', sorted_) print(type(sorted_)) 

انتاج:

 Sorted Tuple : ('sjs', 'abhd', 'sxshs', 'sbchcwsc') 

قائمة فرز الصفوف

باستخدام مرتبة ()

دعونا نلقي نظرة على كيفية فرز القائمة في بايثون باستخدام الصف. خذ بعين الاعتبار السيناريو التالي: نرغب في فرز قائمة الصف. يجب علينا فرز الصفوف وفقًا لأي مفتاح يُعطى لنا. يمكن تحقيق ذلك باستخدام الدالةsorted()‎، التي تقوم بفرز العناصر باستخدام مفتاح وتخزين فهرس المفاتيح لفرز المجموعات المحددة. تنفيذ بايثون لهذا النهج هو كما يلي:

ما هو السبات

مدخل

 # Sorting list of tuples according to a key def middle(n): return n[1] # function to sort the tuple def sort(list_of_tuples): return sorted(list_of_tuples, key = middle) # driver code list_ = [(34, 21, 56), (24, 12, 32), (42, 34, 42), (27, 11, 32)] print('Sorted list of Tuples:'), print(sort(list_)) 

انتاج:

 Sorted list of Tuples: [(27, 11, 32), (24, 12, 32), (34, 21, 56), (42, 34, 42)] 

استخدام الفرز الفقاعي

يعد فرز الفقاعات مجرد خوارزمية فرز لفرز قائمة بأي عدد من العناصر. إذا كان العنصر المجاور في قائمة معينة بالترتيب غير الصحيح، فسيتم تبديلها. ثم تكرر هذه العملية حتى يتم فرز كافة العناصر.

في هذا المثال، سنستخدم خوارزمية فرز الفقاعات لفرز قائمة من الصف.

ymail

مدخل

 roll = [('Arshia', 26), ('Itika', 53), ('Peter', 82), ('Parker', 74), ('MJ', 45)] first = 0 last = len(roll) for k in range(0, last): for l in range(0, last-k-1): if (roll[l][first] > roll[l + 1][first]): new_item = roll[l] roll[l]= roll[l + 1] roll[l + 1]= new_item print(roll) 

انتاج:

 [('Arshia', 26), ('Itika', 53), ('MJ', 45), ('Parker', 74), ('Peter', 82)]