set در پایتون
set به نوعی ساختار های داده هستند، مشابه با لیست ها و دیکشنری ها. در واقع با استفاده از براکت های {} و یا استفاده از تابع Set ساخته می شوند. set ها با یکسری از توابع و عملکرد های لیست ها مشابه هستند به عنوان مثال استفاده از in برای فهم اینکه مقداری در داخل لیست وجود دارد یا خیر.
num_set = {1, 2, 3, 4, 5}
word_set = set(["spam", "eggs", "sausage"])
print(3 in num_set)
print("spam" not in word_set)
خروجی:
>>>
True
False
>>>
نکته:برای ایجاد یک مجموعه خالی، شما باید از مجموعه () استفاده کنید، زیرا {} یک فرهنگ لغت خالی ایجاد می کند. مجموعه های مختلف از لیست ها در چندین روش متفاوت هستند، اما عملیات لیستی مختلف مانند len را به اشتراک می گذارند.بدون جایگاه index هستند.نمی توانند عناصر تکراری داشته باشند. با توجه به نحوه ذخیره آنها، سریعتر است تا بررسی شود که آیا یک آیتم بخشی از یک مجموعه می باشد یا بخشی از یک لیست است. به جای استفاده از append برای افزودن به مجموعه، از add استفاده کنید. متد Remove یک المان خاص از را set حذف می کند؛ پاپ یک عنصر دلخواه را حذف می کند.
nums = {1, 2, 1, 3, 1, 4, 5, 6}
print(nums)
nums.add(-7)
nums.remove(3)
print(nums)
خروجی:
>>>
{1, 2, 3, 4, 5, 6}
{1, 2, 4, 5, 6, -7}
>>>
نکته:استفاده های عمومی از set ها عبارتند از تست عضویت و حذف موارد تکراری. Set ها می توانند با استفاده از عملیات ریاضی ترکیب شوند. اپراتور اتحاد | دو مجموعه را ترکیب می کند تا یک عنصر جدید را که حاوی عناصر در هر دو است تشکیل دهد. اپراتور تقاطع & تنها موارد موجود در هر دو مورد می گیرد. اپراتور اختلاف - مواردی را که در اولین مجموعه قرار دارند، اما در دوم نیستند. اپراتور اختلاف متقارن ^ مواردی را در هر دو مجموعه می گیرد، اما نه هر دو.
first = {1, 2, 3, 4, 5, 6}
second = {4, 5, 6, 7, 8, 9}
print(first | second)
print(first & second)
print(first - second)
print(second - first)
print(first ^ second)
خروجی:
>>>
{1, 2, 3, 4, 5, 6, 7, 8, 9}
{4, 5, 6}
{1, 2, 3}
{8, 9, 7}
{1, 2, 3, 7, 8, 9}
>>>
همانگونه که در درس های قبلی دیده ایم، پایتون از ساختارهای داده زیر پشتیبانی می کند: لیست ها، dictionary ها، tuple ها، set ها. هنگام استفاده از یک dictionary: - هنگامی که شما نیاز به یک ارتباط منطقی بین یک key:value. - هنگامی که شما نیاز به جستجوی سریع برای اطلاعات خود دارید، بر اساس یک کلید سفارشی. - هنگامی که اطلاعات شما در حال تغییر دائمی است. به خاطر داشته باشید dictionary ها قابل تغییر هستند زمان استفاده از انواع دیگر: - از لیست ها استفاده کنید اگر مجموعه ای از داده هایی را دارید که دسترسی تصادفی ندارند. سعی کنید لیست ها را انتخاب کنید، زمانی که به یک مجموعه ساده و تکرار نیاز دارید که به طور مرتب تغییر می کند. - از set ها زمانی استفاده کنید اگر به عناصر منحصر به فرد نیاز دارید. - هنگامی که داده های شما تغییر نمی کنند، از tuple ها استفاده کنید. نکته:به عنوان مثال، گاه گاه tuple با یک dictionary استفاده می شود، به عنوان مثال، یک tuple ممکن است یک کلید باشد، زیرا تغییرناپذیر نیست.