هل تريد تعيين الفرز؟ h4>
كما نعلم ، لا يتم أخذ ترتيب العناصر في المجموعة في الاعتبار. فهل من المنطقي التحدث عن مجموعات الفرز في بايثون 3 ؟! (لهذا السبب توجد علامة استفهام في العنوان)
للعثور بسرعة على عنصر في مجموعة ، من المستحسن تخزينها في الذاكرة في شكل مرتب. p>
لنلق نظرة على بعض الأمثلة. ماذا يحدث لعناصر من أنواع بيانات مختلفة في نفس المجموعة؟ & nbsp ؛ لا ينبغي فرز هذه العناصر. إذا قمنا بطباعة العناصر باستخدام الأمر print ()
، فسيتم إخراجها على النحو التالي: p>
أ = {0 ، 1 ، 12 ، & # 39 ؛ ب & # 39 ؛ ، & # 39 ؛ أب & # 39 ؛ ، 3 ، 2 ، & # 39 ؛ أ & # 39 ؛}
طباعة (أ) # {0 ، 1 ، 2 ، 3 ، & # 39 ؛ a & # 39 ؛، 12 ، & # 39 ؛ b & # 39 ؛، & # 39 ؛ ab & # 39 ؛}
في هذه الحالة ، يتم عرض القيم التي لم يتم فرزها. إذا كررت بدء التشغيل ، فقد يكون ترتيب الإخراج مختلفًا. لكن هذا فقط إذا تم خلط عناصر من أنواع مختلفة.
دعنا نحاول عرض بيانات من نوع واحد (على سبيل المثال ، أرقام فقط):
أ = {0 ، 1 ، 12 ، 3 ، 2}
طباعة (أ) # {0 ، 1 ، 2 ، 3 ، 12}
يتم عرض جميع العناصر بالترتيب. دعنا نحاول تحويلها إلى قائمة:
أ = {0 ، 1 ، 12 ، 3 ، 2}
ب = القائمة (أ)
print (b) # [0، 1، 2، 3، 12]
وبالمثل ، تمت كتابة العناصر التي تم فرزها بترتيب تصاعدي في القائمة.
اتضح أن العناصر مخزنة في الذاكرة بشكل مرتب إذا كانت من نفس النوع strong>. لكن من الأفضل عدم الاعتماد عليها ، يمكن أن تتغير خوارزميات بايثون. p>
إذا كنت بحاجة إلى الحصول على قائمة مرتبة من مجموعة ، فمن الأفضل استخدام الترتيب code> (< code> Sorted) للتأكد من ذلك code>). سيتم فرز العناصر بالضبط. ستكون شفرتك مفهومة للآخرين. div>