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با افزودن اجتماع یک مجموعه و سایر مجموعه‌ها، آن را به روز رسانی ‌می‌کند
تیم محتوایی فنولوژی
تیم محتوایی فنولوژی
گروهی از متخصصان حوزه‌های مختلف
عضویت
اطلاع از
0 دیدگاه‌ها
بازخورد در متن
دیدن همه دیدگاه‌ها

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

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

عضویت در خبرنامه فنولوژی

جذاب‌ترین مطالب سایت را ماهانه دریافت کنید!

خبرنامه