در پایتون، “Set Type” برای نگهداری مجموعه‌ای از داده‌ها استفاده می‌شود. ویژگی مهم این نوع داده این است که عناصر تکراری را نگه نمی‌دارد و عناصر آن ترتیب مشخصی ندارند.

set

set یک مجموعه‌ی قابل تغییر است. یعنی بعد از ساخت آن می‌توان عناصر جدیدی به آن اضافه کرد یا عناصر موجود را حذف کرد.

numbers = {1, 2, 3, 3, 4}

در این مثال، عدد “3” فقط یک بار در مجموعه قرار می‌گیرد، چون “set” مقدارهای تکراری را حذف می‌کند.

از آنجا که عناصر “set” ترتیب مشخصی ندارند، نمی‌توان با استفاده از “Index” به یک عنصر خاص دسترسی پیدا کرد.

frozenset

“frozenset” شبیه “set” است، با این تفاوت که قابل تغییر نیست. یعنی بعد از ساخته شدن نمی‌توان عنصری به آن اضافه کرد یا عنصری از آن حذف کرد.

numbers = frozenset([1, 2, 3])

تفاوت و شباهت‌ها

هر دو نوع “set” و “frozenset” می‌توانند چند مقدار را در خود نگه دارند، مقدارهای تکراری را حذف می‌کنند و ترتیب مشخصی برای عناصرشان ندارند.

تفاوت اصلی آن‌ها در قابل تغییر بودن است. “set” قابل تغییر است، اما “frozenset” ثابت است و پس از ساخته شدن نمی‌توان محتوای آن را تغییر داد.

بنابراین اگر مجموعه‌ای از داده‌های بدون تکرار داشته باشیم که ممکن است بعداً تغییر کند، از “set” استفاده می‌کنیم. اگر بخواهیم این مجموعه ثابت بماند، “frozenset” انتخاب مناسب‌تری است.