آموزش Set یا مجموعه در پایتون

ست در پایتون

یک مجموعه یا ست (set) در پایتون به این صورت تعریف می‌شود:

myset = {"apple", "banana", "cherry"}

ویژگی های یک Set یا مجموعه

ست ها برای ذخیره چندین آیتم در یک متغیر استفاده می شوند.

Set یکی از چهار نوع مختلف داده در پایتون است که برای ذخیره گروهی از داده‌ها استفاده می‌شود، سه نوع دیگر List ،Tuple و Dictionary نام دارند که هر کدام دارای ویژگی ها و کاربرد های متفاوتی هستند.

Set مجموعه‌ای نامرتب، غیرقابل تغییر* و نمایه‌نشده است.

* آیتم‌های ست غیر قابل تغییر هستند، اما می توانید آن ها را حذف کرده و یا موارد جدیدی اضافه کنید.

مثال

ایجاد یک مجموعه یا ست:

thisset = {"apple", "banana", "cherry"}
print(thisset)

Set ها نامرتب هستند، بنابراین نمی توانید مطمئن باشید که آیتم ها به کدام ترتیب ظاهر می شوند.

آیتم های Set

آیتم های Set نامرتب و غیرقابل تغییر هستند و نمی‌توانند مقادیر تکراری داشته باشند.

نامرتب

آیتم های ست می توانند هر بار که از آنها استفاده می کنید با ترتیب متفاوتی ظاهر شوند و نمی توان با اندیس یا کلید آنها را به دست آورد.

غیر قابل تغییر

آیتم های مجموعه غیر قابل تغییر هستند، به این معنی که پس از ایجاد ست، نمی توانیم آیتم هایش را تغییر دهیم.

پس از ایجاد یک Set، نمی توانید آیتم‌های آن را تغییر دهید، اما می توانید آیتم‌ها را حذف کرده و یا موارد جدیدی به ست اضافه کنید.

تکرار مجاز نیست

Set ها نمی توانند دو آیتم با مقدار یکسان داشته باشند.

مثال

مقادیر تکراری نادیده گرفته خواهند شد:

thisset = {"apple", "banana", "cherry", "apple"}

print(thisset)

مقدار True و 1 در Set ها یکسان در نظر گرفته شده و تکراری محسوب می‌شود:

مثال:

thisset = {"apple", "banana", "cherry", True, 1, 2}

print(thisset)

مقدار False و 0 در Set ها یکسان در نظر گرفته شده و تکراری محسوب می‌شود:

مثال:

thisset = {"apple", "banana", "cherry", False, True, 0}

print(thisset)

تعداد آیتم های یک Set

برای به دست آوردن تعداد آیتم های یک مجموعه یا ست، از تابع len() استفاده کنید.

مثال

thisset = {"apple", "banana", "cherry"}

print(len(thisset))

انواع داده آیتم های Set

آیتم های ست یا مجموعه می توانند از هر نوع داده ای تشکیل شده باشند:

مثال

انواع داده های رشته ای، int و بولی:

set1 = {"apple", "banana", "cherry"}
set2 = {1, 5, 7, 9, 3}
set3 = {True, False, False}

همچنین یک Set می تواند شامل ترکیبی از انواع مختلف داده ها باشد:

مثال

رشته ها، اعداد صحیح و مقادیر بولی داخل یک ست:

set1 = {"abc", 34, True, 40, "male"}

type()

از دیدگاه پایتون، مجموعه ها به عنوان اشیایی با نوع داده "set" تعریف می شوند:

<class 'set'>

مثال

نوع داده یک مجموعه را چاپ کنید

myset = {"apple", "banana", "cherry"}
print(type(myset))

تابع set()

همچنین می توان از تابع set() برای ایجاد یک ست استفاده کرد.

مثال:

thisset = set(("apple", "banana", "cherry")) # note the double round-brackets
print(thisset)

دسترسی به آیتم های Set

شما نمی توانید با استفاده از یک اندیس یا یک کلید به آیتم موجود در یک Set دسترسی پیدا کنید. اما می‌توانید با استفاده از یک حلقه for روی آیتم‌های Set حلقه بزنید.

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

مثال

مقادیر داخل یک Set را چاپ کنید:

thisset = {"apple", "banana", "cherry"}

for x in thisset:
  print(x)

بررسی کنید که آیا "banana" در Set وجود دارد یا خیر:

thisset = {"apple", "banana", "cherry"}

print("banana" in thisset)

اضافه کردن آیتم جدید به Set

برای افزودن یک آیتم به یک Set از متد add() استفاده کنید.

مثال:

thisset = {"apple", "banana", "cherry"}

thisset.add("orange")

print(thisset)

اضافه کردن آیتم از Set های دیگر

برای افزودن آیتم از Set دیگری به Set فعلی، از متد update() استفاده کنید.

مثال

آیتم های ست tropical را به thisset اضافه کنید:

thisset = {"apple", "banana", "cherry"}
tropical = {"pineapple", "mango", "papaya"}

thisset.update(tropical)

print(thisset)

اضافه کردن از هر Iterable یا تکرارگر دیگری

لزومی ندارد شی موجود در update() حتما Set باشد، می توانید هر شیء تکرار شونده ای (تاپل ها، لیست ها، دیکشنری ها و غیره) را از طریق متد update به Set اضافه کنید.

مثال

عناصر یک لیست را به ست اضافه کنید:

thisset = {"apple", "banana", "cherry"}
mylist = ["kiwi", "orange"]

thisset.update(mylist)

print(thisset)

حذف آیتم از یک Set

برای حذف یک آیتم از یک ست، از متد remove() یا discard() استفاده کنید.

مثال استفاده از متد remove()

thisset = {"apple", "banana", "cherry"}

thisset.remove("banana")

print(thisset)

اگر آیتمی که باید حذف شود وجود نداشته باشد remove() خطا می‌دهد.

مثال استفاده از متد discard()

thisset = {"apple", "banana", "cherry"}

thisset.discard("banana")

print(thisset)

اگر آیتمی که باید حذف شود وجود نداشته باشد discard() خطا نمی‌دهد.

شما همچنین می توانید از متد pop() برای حذف یک آیتم استفاده کنید، اما این روش یک آیتم تصادفی را حذف می کند، بنابراین نمی توانید مطمئن باشید که چه موردی حذف می شود.

مقدار برگشتی روش pop()، همان آیتم حذف شده است.

مثال

یک مورد تصادفی را با استفاده از pop() حذف کنید:

thisset = {"apple", "banana", "cherry"}

x = thisset.pop()

print(x)

print(thisset)

ست ها نامرتب هستند، بنابراین هنگام استفاده از pop()روش، نمی‌دانید کدام مورد حذف می شود.

متد clear() مجموعه را خالی می کند.

مثال:

thisset = {"apple", "banana", "cherry"}

thisset.clear()

print(thisset)

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

مثال:

thisset = {"apple", "banana", "cherry"}

del thisset

print(thisset)

حلقه روی آیتم های Set

با استفاده از یک حلقه for می توانید روی آیتم های یک Set حلقه بزنید.

مثال:

thisset = {"apple", "banana", "cherry"}

for x in thisset:
  print(x)

ترکیب (Join) چند Set با یکدیگر

راه های مختلفی برای ترکیب دو یا چند مجموعه به یکدیگر در پایتون وجود دارد.

می‌توانید از تابع union() استفاده کنید که یک مجموعه جدید حاوی همه آیتم‌ها از هر دو مجموعه را بر می‌گرداند، یا تابع update() که همه موارد را از یک ست به ست دیگر وارد می‌کند:

مثال استفاده از تابع union

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set3 = set1.union(set2)
print(set3)

مثال استفاده از تابع update

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}

set1.update(set2)
print(set1)

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

فقط موارد تکراری را نگه دارید

متد intersection_update() فقط مواردی را که در هر دو مجموعه وجود دارد، نگه می‌دارد.

مثال

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}

x.intersection_update(y)

print(x)

متد intersection() مجموعه جدیدی برمی گرداند که فقط شامل مواردی است که در هر دو مجموعه وجود دارد.

مثال

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}

z = x.intersection(y)

print(z)

همه را جز موارد تکراری، نگه دارید

متد symmetric_difference_update() فقط مواردی را که در هر دو مجموعه وجود نداشته باشند، نگه می‌دارد.

مثال

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}

x.symmetric_difference_update(y)

print(x)

متد symmetric_difference() مجموعه جدیدی را بر می‌گرداند که فقط حاوی مواردی است که در هر دو مجموعه وجود نداشته باشند.

مثال

x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}

z = x.symmetric_difference(y)

print(z)

متد های Set

پایتون مجموعه ای از متدهای داخلی دارد که می توانید هنگام کار با Set ها از این متد ها استفاده کنید:

Method

Description

add()

Adds an element to the set

clear()

Removes all the elements from the set

copy()

Returns a copy of the set

difference()

Returns a set containing the difference between two or more sets

difference_update()

Removes the items in this set that are also included in another, specified set

discard()

Remove the specified item

intersection()

Returns a set, that is the intersection of two other sets

intersection_update()

Removes the items in this set that are not present in other, specified set(s)

isdisjoint()

Returns whether two sets have a intersection or not

issubset()

Returns whether another set contains this set or not

issuperset()

Returns whether this set contains another set or not

pop()

Removes an element from the set

remove()

Removes the specified element

symmetric_difference()

Returns a set with the symmetric differences of two sets

symmetric_difference_update()

inserts the symmetric differences from this set and another

union()

Return a set containing the union of sets

update()

Update the set with the union of this set and others

آرایه‌ها (داده‌های گروهی) در پایتون

چهار نوع داده برای کار با مجموعه ای از داده ها در زبان برنامه نویسی پایتون وجود دارد:

  • لیست مجموعه ای مرتب و قابل تغییر است. اعضای تکراری مجاز است.

  • تاپل مجموعه ای مرتب و غیرقابل تغییر است. اعضای تکراری مجاز است.

  • ست مجموعه ای نامرتب و غیرقابل تغییر* و ایندکس نشده است. بدون عضو تکراری.

  • دیکشنری مجموعه ای مرتب** و قابل تغییر است. بدون عضو تکراری.

* آیتم‌های ست غیر قابل تغییر هستند، اما می توانید آن‌ها را حذف کرده یا موارد جدید اضافه کنید.

**از نسخه 3.7 پایتون، دیکشنری ها دارای ترتیب هستند. در پایتون 3.6 و قبل، دیکشنری ها نامرتب هستند.

هنگام انتخاب نوع داده برای تعریف یک آرایه، درک خواص آن نوع مهم است. انتخاب نوع مناسب برای یک مقدار می تواند به معنای افزایش کارایی و امنیت باشد.

مجموعهآموزش پایتون از صفر(23 پست)
1.پایتون چیست؟ مقدمه پایتون10 ماه قبل2.برنامه نویسی پایتون را چطور شروع کنیم؟10 ماه قبل3.آموزش سینتکس (نحوه نوشتن) پایتون10 ماه قبل4.آموزش متغیرهای پایتون10 ماه قبل5.آموزش انواع داده در پایتون10 ماه قبل6.آموزش اعداد در پایتون10 ماه قبل7.آموزش Casting (تبدیل نوع داده) در پایتون10 ماه قبل8.آموزش رشته در پایتون10 ماه قبل9.آموزش بولین یا Boolean در پایتون10 ماه قبل10.آموزش عملگرهای پایتون10 ماه قبل11.آموزش لیست در پایتون10 ماه قبل12.آموزش تاپل یا چندتایی در پایتون9 ماه قبل13.آموزش Set یا مجموعه در پایتون8 ماه قبل14.آموزش نوع داده دیکشنری در پایتون8 ماه قبل15.آموزش شرط if ... else در پایتون8 ماه قبل16.آموزش حلقه while در پایتون8 ماه قبل17.آموزش حلقه for در پایتون8 ماه قبل18.آموزش توابع در پایتون8 ماه قبل19.آموزش توابع Lambda (لامبدا) در پایتون8 ماه قبل20.آموزش آرایه در پایتون7 ماه قبل21.آموزش کلاس و Object در پایتون7 ماه قبل22.آموزش ارث بری یا وراثت در پایتون7 ماه قبل23.آموزش تکرارگر یا iterator در پایتون7 ماه قبل

کامنت ها