set در پایتون | python sets

نوع داده مجموعه در پایتون | set در پایتون5 دقیقه مطالعه

هدیه فنولوژی به شما!

نوع داده مجموعه یا set در پایتون، نمایان‌گر مجموعه‌‎های ریاضی است. مهم‌ترین مزیت استفاده از یک مجموعه در مقابل لیست، این است که این یک روش کاملا بهینه شده برای بررسی وجود یک عنصر خاص در داده‌ها است. در ادامه‌ی این بخش از آموزش پایتون مقدماتی، با نوع داده مجموعه در پایتون بیش‌تر آشنا خواهید شد.

نوع داده مجموعه در پایتون

نوع داده مجموعه یا set در پایتون، چندین متغیر بدون ترتیب و بدون شماره‌گذاری یا ایندکسینگ است. در پایتون، مجموعه‌‌ها با علامت {} نوشته می‌شوند و اعضای آن با کاما جدا می‌شوند.
مثال #۱: ساخت یک مجموعه در پایتون

خروجی #۱:

نکته: مجموعه‌ها ترتیب ندارند، بنابراین نمی‌توان مطمئن بود عضو‌های داخل مجموعه با چه ترتیبی به نمایش در می‌آیند.

دسترسی به عضو‌های set در پایتون

چون مجموعه‌ها ترتیب ندارند،‌ نمی‌توانید با استناد به شمارنده یا ایندکس، به اعضای آن‌ها دسترسی پیدا کنید. اما می‌توانید با استفاده از حلقه for، بین عضو‌های یک مجموعه حلقه ایجاد کنید و اعضا را نمایش دهید؛ یا با استفاده از کلیدواژه in بررسی کنید که آیا یک مقدار خاص در این مجموعه وجود دارد یا خیر.

مثال #۲: ایجاد حلقه در مجموعه و نمایش خروجی

خروجی #۲:

مثال #۳: بررسی کردن این که آیا banana در این مجموعه وجود دارد یا خیر

خروجی #۳:

اضافه کردن عضو به یک set در پایتون

زمانی که یک مجموعه ایجاد می‌شود، دیگر قادر به تغییر اعضای آن نخواهید بود؛ اما می‌توانید به آن اعضای جدید اضافه کنید. برای اضافه کردن یک عضو یا آیتم به مجموعه از متد ()add استفاده می‌کنیم. برای افزودن بیش از یک عضو به مجموعه از متد ()update استفاده می‌کنیم. در مثال‌های زیر این روش‌ها را بررسی می‌کنیم.

مثال #۴: افزودن یک عضو به مجموعه با ()add

خروجی #۴:

مثال #۵: افزودن چند عضو به مجموعه با ()update

خروجی #۵:

بررسی طول یک set در پایتون

برای چک کردن طول یک مجموعه، از متد ()len استفاده می‌کنیم.
مثال #۶: نمایش تعداد عضوهای یک مجموعه

خروجی #۶:

حذف یک عضو در مجموعه

برای حذف یک عضو از مجموعه، می‌توانیم از متدهای ()remove و ()discard استفاده کنیم.
مثال #۷: حذف عضو banana با استفاده از متد ()remove

خروجی #۷:

نکته: اگر عضوی که قصد حذف آن را دارید وجود نداشته باشد، در دستور ()remove با خطا مواجه می‌شوید.

مثال #۸: حذف عضو banana با استفاده از متد ()discard

خروجی #۸:

نکته: اگر عضوی که قصد حذف آن را دارید وجود نداشته باشد، در دستور ()discard با خطا مواجه نمی‌شوید.

همچنین می‌توانید از متد ()pop برای حذف یک عضو استفاده کنید؛ ولی دقت کنید که این متد فقط ‌آخرین عضو مجموعه را حذف می‌کند. می‌دانیم که مجموعه‌ها داده‌هایی بدون ترتیب هستند؛ بنابراین ما از قبل نمی‌دانیم که کدام عضو حذف می‌شود!

خروجی متد ()pop، همان عضو حذف‌شده است.

مثال #۹: حذف آخرین عضو با متد ()pop

خروجی #۹:

نکته: دقت کنید که مجموعه‌ها ترتیب ندارند لذا نمی‌توانید مطمئن باشید که با استفاده از ()pop کدام عضو را حذف خواهید کرد.

مثال #۱۰: متد ()clear مجموعه را خالی می‌کند:

خروجی #۱۰:

مثال #۱۱: کلیدواژه del به طور کامل مجموعه را حذف می‌کند.

خروجی #۱۱:

اتصال دو مجموعه به یکدیگر در پایتون

چند روش برای اتصال دو یا چند مجموعه در پایتون وجود دارد.
شما می‌توانید از متد ()union استفاده کنید؛ با این کار یک مجموعه‌ی جدید شامل اجتماع دو مجموعه‌ی ورودی خواهید داشت. هم‌چنین متد ()update نیز این کار را انجام می‌دهد، با این تقاوت که می‌توان همه‌ی یک مجموعه را به مجموعه‌ی دیگر اضافه کرد و مجموعه‌ی سومی ساخته نمی‌شود.

مثال #۱۲: متد ()union که یک مجموعه‌ی جدید شامل همه‌ی اعضای دو مجموعه‌ی اول برمی‌گرداند.

خروجی #۱۲:

مثال #۱۳: متد ()update اعضای set2 را وارد مجوعه‌ی set1 می‌کند.

خروجی #۱۳:

نکته: هر دو متد ()union و ()update اعضایی که در مجموعه تکراری باشند را حذف می‌کنند.

روش‌های دیگری نیز برای اتصال دو مجموعه به هم وجود دارد؛ روش‌هایی که فقط مجموعه‌ی جدید را نگه می‌دارد یا اصلا نگه نمی‌دارند. می‌توانید در انتهای این صفحه، لیست کاملی از متدهای set در پایتون را مشاهده کنید.

استفاده از ()set برای ایجاد set در پایتون

روش دیگری برای ساخت مجموعه در پایتون استفاده از ()set است.
مثال #۱۴: ساخت یک مجموعه با استفاده از ()set

خروجی #۱۴:

لیست متدهای پایتون برای مجموعه

متد توضیحات متد
()add افزودن یک عضو به مجموعه
()clear حذف همه‌ی اعضای یک مجموعه
()copy یک کپی از مجموعه را بر می‌گرداند
()difference این متد تفاوت (منهای) دو مجموعه را بر می‌گرداند
()difference_update اعضای یک مجموعه که در یک مجموعه‌ی دیگر نیز هستند را حذف می‌کند
()discard حذف یک عضو خاص
()intersection اشتراک دو مجموعه را بر می‌گرداند
()intersection_update اعضای یک مجموعه که در مجموعه‌ی دیگر نیستد را حذف می‌کند
()isdisjoint بررسی می‌کند که آیا دو مجموعه اشتراکی دارند یا خیر
()issubset بررسی می‌کند که آیا مجموعه زیرمجموعه‌ی یک مجموعه‌ی دیگر است یا خیر
()issuperset بررسی می‌کند که آیا مجموعه در برگیرنده‌ی مجموعه‌ی دیگر هست یا خیر
()pop یک عضو مجموعه را حذف می‌کند
()remove یک عضو خاص مجموعه را حذف می‌کند
()symmetric_difference از دو مجموعه اشتراک متقارن (اجتماع منهای اشتراک) می‌گیرد
()symmetric_difference_update اضافه کردن اشتراک متقارن یک مجموعه و مجموعه‌ی دیگری
()union اجتماع دو مجموعه را بر می‌گرداند
()update با افزودن اجتماع یک مجموعه و سایر مجموعه‌ها، آن را به روز رسانی ‌می‌کند
تیم محتوایی فنولوژی
تیم محتوایی فنولوژی
گروهی از متخصصان حوزه‌های مختلف
عضویت
اطلاع از
2 دیدگاه‌ها
قدیمی‌ترین‌ها
جدیدترین‌ها
بازخورد در متن
دیدن همه دیدگاه‌ها

سلام عرض ادب
()intersection اشتراک هست نه اجتماع.
The intersection() method returns a new set with elements that are common to all sets

خیلی ممنون از توجه شما. 🙏 اصلاح شد.

فنولوژی را در شبکه‌های اجتماعی دنبال کنید

©۲۰۲۰ – کلیه حقوق مادی و معنوی متعلق به فنولوژی است.