مرتبسازی را تنظیم کنید؟
همانطور که می دانیم ترتیب عناصر در مجموعه در نظر گرفته نمی شود. پس آیا منطقی است در مورد مرتب سازی مجموعه ها در پایتون 3 صحبت کنیم؟! (به همین دلیل در عنوان یک علامت سوال وجود دارد)
برای یافتن سریع یک عنصر در یک مجموعه، مطلوب است که آنها را به صورت مرتب در حافظه ذخیره کنید.
بیایید به چند نمونه نگاه کنیم. چه اتفاقی برای عناصر انواع دادههای مختلف در یک مجموعه میافتد؟ این عناصر نباید مرتب شوند. اگر عناصر را با استفاده از دستور print()
چاپ کنیم، آنها به صورت زیر خروجی خواهند شد:
a = {0، 1، 12، 'b'، 'ab'، 3، 2، 'a'}
print(a) # {0, 1, 2, 3, 'a', 12, 'b', 'ab'}
در این حالت مقادیر مرتب نشده نمایش داده می شوند. اگر راه اندازی را تکرار کنید، ترتیب خروجی ممکن است متفاوت باشد. اما این تنها در صورتی است که عناصر انواع مختلف با هم مخلوط شوند.
بیایید سعی کنیم داده های یک نوع را نمایش دهیم (مثلاً فقط اعداد):
a = {0، 1، 12، 3، 2}
چاپ (الف) # {0، 1، 2، 3، 12}
همه عناصر به ترتیب نمایش داده می شوند. بیایید سعی کنیم آن را به یک لیست تبدیل کنیم:
a = {0، 1، 12، 3، 2}
b = لیست (a)
چاپ (ب) # [0، 1، 2، 3، 12]
به همین ترتیب، عناصر مرتب شده به ترتیب صعودی در لیست نوشته شدند.
به نظر می رسد که اگر عناصر از یک نوع باشند به شکل مرتب در حافظه ذخیره می شوند. اما بهتر است روی آن حساب نکنید، الگوریتمهای پایتون میتوانند تغییر کنند.
اگر نیاز به دریافت لیست مرتب شده از یک مجموعه دارید، بهتر است از مرتب
استفاده کنید (< code>sorted) برای اطمینان از عملکرد ). عناصر دقیقا مرتب خواهند شد. کد شما برای دیگران قابل درک خواهد بود.