TheBrain نشر 11 ديسمبر 2015 أرسل تقرير مشاركة نشر 11 ديسمبر 2015 يرتب بايثون السلاسل النصبة حسب قيمة البايت التي تملكها بشكل افتراضي ، أي أن الحرف é يأتي بعد z وهكذا... فما هي أفضل طريقة لترتيب هذه السلاسل النصية في بايثون؟ اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 هشام رزق الله نشر 11 ديسمبر 2015 أرسل تقرير مشاركة نشر 11 ديسمبر 2015 هنالك عدّة طرق يمكنك من خلالها ترتيب سلسلة unicode النصية، لكن حسب رأيي فأفضلها استخدام مكتبة ICU التابعة لـ IBM، والتي تسمى نسختها في بايثون بـ PyICU.ملاحظة: الفرق الرئيسي بين ICU و دالة locale.strcoll هو أن الأولى تستخدم Unicode Collation Algorithm بينما الثانية تستخدم ISO 14651.هذا مثال بسيط لاستخدام مكتبة icu (التي يجب أن تُثبتها أولا) لفرز سلسلة نصية معينة:>>> import icu # pip install PyICU >>> sorted(['a','b','c','ä']) ['a', 'b', 'c', 'ä'] >>> collator = icu.Collator.createInstance(icu.Locale('de_DE.UTF-8')) >>> sorted(['a','b','c','ä'], key=collator.getSortKey) ['a', 'ä', 'b', 'c'] اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
TheBrain
يرتب بايثون السلاسل النصبة حسب قيمة البايت التي تملكها بشكل افتراضي ، أي أن الحرف é يأتي بعد z وهكذا... فما هي أفضل طريقة لترتيب هذه السلاسل النصية في بايثون؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.