پایتون

جلسه ۷۲: Set در پایتون

در این درس به بررسی ویژگیهای ساختمان داده‌ی Set میپردازیم.

ساختار

(یک set یا مجموعه، یکسری داده هستند که ترتیب‌بندی ندارند) وقتی یک داده دارای index نباشد دیگر نمیتوان به کمک index یا ()get به داده دسترسی پیدا کرد. این ساختمان داده شاید ساده ترین نوع در پایتون باشد. میتوان به این صورت در نظر گرفت که Set یک کیف یا سبدی با داده های رندوم است.

ساختار های تغییر پذیر مانند لیست ها و دیکشنری ها، نمیتوانند به set اضافه بشوند. اما اضافه کردن tuple ها کار مفیدی نیز هست. اکنون ممکن است تعجب کنید که چرا به یک set احتیاج داریم؟ یک Set زمانی میتواند برای ما مفید باشد که خواسته باشیم وجود یا عدم وجود یک مقدار را بررسی کنیم. set ها به داده ها اجازه تکرار شدن را نمیدهند. یعنی اینکه اگر ما یک ساختمان داده دیگر داشته باشیم و آن را به set تبدیل کنیم تمام اعضای تکراری حذف میشوند.

ساخت یک Set

اعضای set در دو {} قرار میگیرند. مانند دیگر انواع ساختمان داده، طول و اندازه یک set میتواند با استفاده از تابع ()len بدست آید.

random_set = {"Educative", 1408, 3.142,
              (True, False)}
print(random_set)
print(len(random_set))  # Length of the set

تابع سازنده ()set

تابع سازنده ()set  یک راه دیگر برای ساخت set هاست. مزیت آن در ساخت یک set خالی است.

empty_set = set()
print(empty_set)

random_set = set({"Educative", 1408, 3.142, (True, False)})
print(random_set)

اضافه کردن المان

برای اضافه کردن یک المان، میتوانیم از متد ()add استفاده کنیم. برای اضافه کردن چندین آیتم میتوان از متد ()update استفاده کرد. ورودی ()update باید یک set یا لیست یا tuple یا string باشد. اکنون طی مثال زیر المان هایی را به یک set خالی اضافه میکنیم.

empty_set = set()
print(empty_set)

empty_set.add(1)
print(empty_set)

empty_set.update([2, 3, 4, 5, 6])
print(empty_set)

حذف المان

عملیات های discard یا remove میتواند برای حذف یک المان مشخص از set ها استفاده شود.

random_set = set({"Educative", 1408, 3.142, (True, False)})
print(random_set)

random_set.discard(1408)
print(random_set)

random_set.remove((True, False))
print(random_set)

خروجی remove در صورت عدم وجود آن آیتم  Error خواهد بود. این یعنی دقیقا بالعکس discard

حرکت روی اعضای یک set

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

odd_list = [1, 3, 5, 7]
unordered_set = {9, 10, 11, 12, 13, 14, 15, 16, 17}

print(unordered_set)

for num in unordered_set:
    if(not num % 2 == 0):
        odd_list.append(num)

print(odd_list)

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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا