TheBrain نشر 11 ديسمبر 2015 أرسل تقرير نشر 11 ديسمبر 2015 يرتب بايثون السلاسل النصبة حسب قيمة البايت التي تملكها بشكل افتراضي ، أي أن الحرف é يأتي بعد z وهكذا... فما هي أفضل طريقة لترتيب هذه السلاسل النصية في بايثون؟ اقتباس
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'] اقتباس
السؤال
TheBrain
يرتب بايثون السلاسل النصبة حسب قيمة البايت التي تملكها بشكل افتراضي ، أي أن الحرف é يأتي بعد z وهكذا... فما هي أفضل طريقة لترتيب هذه السلاسل النصية في بايثون؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.