فهرست بستن

پایتون دیلینده مجموعه‌لر و اونلارلا علاقه‌لی ائیله‌ملر

ریاضیاتین چوخلو ساحه‌لری مجموعه‌لر نظریه‌سی اساسیندا قورولموشدور. مجموعه‌لر، نظریه‌لردن و محض قونولاردان علاوه، عملده ده ایشله‌نرلر. بونا گؤره ده یئنی یازیلیملاما دیللرینده، مجموعه‌لرین ایشله‌نیشینی راحاتلاندیرماق اوچون، اونلارا مخصوص تابعلر و ائیله‌ملر حاضیرلانیب دیر. بو یازیدا پایتون دیلینده مجموعه‌لر و اونلارلا علاقه‌لی ائیله‌ملره گؤره دانیشیلاجاق دیر.

بسم الله الرحمن الرحیم

بو سایتدا اوخودوغونوز باشقا یازیلارین چوخو کیمی، بو یازیدا داهی سؤزوموز چوخلو میثاللارلا یورودوله‌جک دیر. بیرینجی میثالیمیز بیر مجموعه‌نین نئجه تعریفلنمه‌سینه گؤره دیر. پایتون دیلینده بیر مجموعه بیرینجی یول آکولاد آراسیندا عضو نرسه‌لرله تعریفله‌نر:

A = {1, 2, 3, 4}
print(A)

گؤردوگونوز کیمی Aـنی بیردن دؤرده‌جه طبیعی عددلر مجموعه‌سی اولاراق تعریفله‌دیک. بیر مجموعه‌ده بیرر نرسه تکرار ایله حاضیر اولابیلمز. بو اصل پایتون دیلینده اولان مجموعه‌لرده داها رعایت اولوب دور:

B = {1, 2, 3, 3, 4, 4}
print(B)

مجموعه عضولری یالنیز ساییلارا محدود دییل دیر. باشقا نرسه‌لرده تعریفله‌دیگیمیز مجموعه‌نین عضوی اولابیلر:

C = {"Husen", "Japbar", "Mahmut", "Kazim"}
print(C)

بو میثالین نتیجه‌سینی گؤرمکله احتمالا بیر باشقا شی ده دقّتــینیزی اؤزونه چکمیش دیر. سیزه گؤرسه‌دیلن مجموعه‌ده عضولر، سیزین تعریفله‌دیگینیز ترتیبله دوزولمه‌ییبلر. بو دا مجموعه‌لرین باشقا بیر خاصیتی دیر. مجموعه‌لرده ترتیب اهمیّتسیز دیر. بونا گؤره ده، پایتون گله‌جکده ایشلنمه‌سی راحات اولان ترتیب ایله عضولری ساخلاییر. تعریفله‌دیگیمیز مجموعه‌لرین نوعونون نه اولماسینا باخسانیز، set کلاسیندان اولمالارینی بیله‌جکسینیز. بیر مجموعه‌نی تعریفله‌مک اوچون آکولاد آراسیندا عضولری یازماقدان علاوه، set کلاسیندان و یارادیچی (Constructor) پارامتری اولاراق بیر تکرارلانابیلن (Iterable)ــــدن فایدالانابیلرسینیز:

D = set("python")
print(D)

E = set(range(10))
print(E)

مجموعه‌لرده ترتیبین آنلامسیز اولماسی اوچون بیر مجموعه‌نین عضولرینی گؤسترگه (index) ایله آییرابیلمه‌ریک لکن حلقه‌ده for و in واسطه‌سییله بوتون عضولر اوزره، ایسته‌دیگیمیز ائیله‌ملری ائده‌بیله‌ریک:

C = {"Husen", "Japbar", "Mahmut", "Kazim"}
for ad in C:
    print(ad)

بو کُدون چیخیشینی آشاغیدا گؤره‌بیلرسینیز:

Kazim
Husen
Mahmut
Japbar

بیلمه‌سی بیزه گرک اولان باشقا ایمکان بیرَر عضوون مجموعه‌ده اولوب اولماماسینی سیناماق دیر. بو دا in واسطه‌سییله ائدیله‌بیلر:

C = {"Husen", "Japbar", "Mahmut", "Kazim"}
print("Kazim" in C)
print("Yunis" in C)

بیر مجموعه‌یه یئنی بیر عضو آرتیرماق اوچون set کلاسیندا add تابعیندن فایدالانابیلرسینیز:

C = {"Husen", "Japbar", "Mahmut", "Kazim"}
C.add("Yunis")

بیر مجموعه‌یه نئچه عضوی بیردن آرتیرماق اوچون ده update تابعینی ایشله‌ده‌بیلرسینیز:

C = {"Husen", "Japbar", "Mahmut", "Kazim"}
C.update(["Karim", "Sadiq"])

بیر مجموعه‌نین اندازه‌سی یا عضولرینین ساییسینی بیلمک اوچون len تابعی ایشلنمه‌لی دیر:

C = {"Husen", "Japbar", "Mahmut", "Kazim"}
print(len(C))

مجموعه‌دن عضولری سیلمک اوچون ایکی تابع ایشله‌نه‌بیلر، remove ایله discard. لکن بو ایکی تابع بیر آز فرقلی دیرلر. remove تابعی ایله بیر عضوون سیلمه‌سینه چالیشسانیز و او عضو مجموعه‌ده اولماسا، پایتون سیزه عضوون مجموعه‌ده اولماماسینی بیلدیرن بیر ارور گؤرسه‌ده‌جک دیر. لکن بو مسئله discard تابعی ایله سیلمه‌یه چالیشاندا دقّت چکمه‌ییر.

C = {"Husen", "Japbar", "Mahmut", "Kazim"}
print(C)
C.remove("Mahmut")
print(C)
C.discard("Mahmut")
print(C)
C.remove("Mahmut")

بو کُدون چیخیشینی آشاغیدا گؤره‌بیلرسینیز. بیرینجی یول remove تابعی، دوغروجا Mahmutــی مجموعه‌دن سیلیر. مجموعه‌دن سیلینندن سونرا گئنه بو عضوون سیلمه‌سینه چالیشاندا discard تابعی، عضوون مجموعه‌ده داها اولماماسینا باخمایاراق، هئچ بیر ارور گؤرستمه‌دن ایشینی قورتاریر. لکن remove تابعی بیزه عضوون اولماماسینی بیلدیرن بیر اِرورو گؤرسدیر.

{'Kazim', 'Husen', 'Mahmut', 'Japbar'}
{'Kazim', 'Husen', 'Japbar'}
{'Kazim', 'Husen', 'Japbar'}
Traceback (most recent call last):

  File "<ipython-input-19-660a2dd6c646>", line -, in <module>
    C.remove("Mahmut")

KeyError: 'Mahmut'

مجموعه‌لرله علاقه‌لی بیر باشقا تابع pop دیر. بو تابع چاغیریلاندا مجموعه‌دن بیر عضوی قایتاریب داهی اونو مجموعه‌دن سیله‌جک دیر:

print(C.pop())
print(C)

بو کُدون چیخیشی C مجموعه‌سینین اؤنجه‌کی میقدارلانماسینا دایاناراق آشاغیداکی کیمی اولاجاق دیر:

Sadiq
{'Husen', 'Yunis', 'Kazim', 'Japbar', 'Karim'}

بیر مجموعه‌نین عضولرینی بوتونلوکجه سیلمک اوچون clear تابعی ایشلنمه‌لی دیر. مجموعه‌یه اختصاصلانان حافظه‌نی ده بوشالتماق اوچون ده del دن فایدالانابیله‌ریک:

C.clear()
print(C)
del C
print(C)

بو کُدون چیخیشی بئیله اولاجاق دیر:

set()
NameError: name 'C' is not defined

ایکی مجموعه‌نین اشتراک و اجتماعلارینی intersection و union تابعلری واسطه‌سییله تاپابیله‌ریک. آشاغیداکی میثالدا بو ایشین نئجه ممکن اولماسینی گؤره‌بیلرسینیز:

A = {1, 2, 3, 4}
print(A)

B = {3, 4, 5, 6, 7}
print(B)

print(A.union(B))
print(A.intersection(B))

اجتماع و اشتراک تاپماق آیری یول ایله ده ممکن دور. اوستده‌کی میثالی ایکینجی یول ایله ده گئنه یازیریق:

A = {1, 2, 3, 4}
print(A)

B = {3, 4, 5, 6, 7}
print(B)

print(A | B)
print(A & B)

ایکی مجموعه‌نین تفاضلینی تاپماق اوچون «-»ـنی یا difference تابعینی ایشله‌ده‌بیله‌ریک. اوستده‌کی میثال ادامه‌سینده:

print(A - B)
print(A.difference(B))

مجموعه‌لر اوچون، چیخیشی دوغرو یوخسا یانلیش اولان، باشقا اوچ تابع ده واردیر. بونلار isdisjoint، issubset و issuperset دیرلر. بو تابعلرین گیریشی بیر باشقا مجموعه دیر و آدلاریندان دا بللی اولدوغو کیمی ایکی مجموعه‌نین بیر بیرلریندن آیری اولوب اولماماسی، بیرینجی مجموعه‌نین ایکینجیده حاضیر اولوب اولماماسی و بیرینجی مجموعه‌نین ایکینجییه شامیل اولوب اولماماسینی بیلمک اوچون ایشله‌نـَـر.