البرمجة

ترتيب الأزواج بالأرقام والأحرف في Python

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

إليك كيف يمكنك القيام بذلك:

python
# القائمة الأصلية data = [(('A', 'B'), 1.0), (('A', 'C'), 1.0), (('B', 'C'), 1.0), (('B', 'D'), 1.0), (('D', 'E'), 1.0), (('D', 'F'), 1.0), (('E', 'F'), 5.0), (('F', 'G'), 5.0), (('D', 'G'), 1.0)] # فرز القائمة باستخدام الدالة المخصصة sorted_data = sorted(data, key=lambda x: (-x[1], x[0])) # طباعة القائمة المفرَّزة print(sorted_data)

في هذا الكود، يتم استخدام الدالة sorted() لفرز القائمة data باستخدام key المعين، وهو دالة للحصول على المعيار الذي يجب أن تتم عملية الفرز بناءً عليه. في هذه الحالة، تم استخدام دالة للمفتاح تعيد القيم بشكل ترتيبي للأرقام بتنازلياً (-x[1])، ثم تعيد التوابل بترتيب أبجدي تصاعدي (x[0]) في حالة وجود تساوي في الأرقام.

هذا يضمن أن القائمة ستكون مفرَّزة وفقًا للمتطلبات التي حددتها.

المزيد من المعلومات

بعد تنفيذ الكود السابق، ستحصل على النتيجة المطلوبة، حيث ستكون القائمة المفرزة كما تريد، وهي كالتالي:

css
[(('E', 'F'), 5.0), (('F', 'G'), 5.0), (('A', 'B'), 1.0), (('A', 'C'), 1.0), (('B', 'C'), 1.0), (('B', 'D'), 1.0), (('D', 'E'), 1.0), (('D', 'F'), 1.0), (('D', 'G'), 1.0)]

يمكنك ملاحظة أن القائمة قد تم فرزها بشكل صحيح وفقًا للمتطلبات، حيث تكون الأزواج التي تحتوي على القيم الأعلى في المقدمة، وفي حالة وجود تساوي في القيم، يتم ترتيب التوابل بشكل أبجدي تصاعدي.

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

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

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