পাইথনে সেট ডাটা স্ট্রাকচার একটি বিশেষ টাইপ যেটা গণিতের সেটের উপর ভিত্তি করে তৈরি। এটা কোন অর্ডার বা ক্রম এবং ইনডেক্স অনুসরণ করে না। সেটের উপাদানগুলোকে দ্বিতীয় বন্ধনীর মধ্যে লেখা হয়।
# This program is an example of set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
print(testSet)
ফলাফল-
{'C', 'Java', 'C#', 'Python', 'C++'}
নির্দিষ্ট কোন উপাদানকে অ্যাক্সেস (Access) করা
যেহেতু সেটে কোন তথ্য সুবিন্যাস্ত ক্রম অনুসারে সজ্জিত থাকে না তথা কোন ইনডেক্স থাকেনা তাই একটি নির্দিষ্ট উপাদানকে ইনডেক্স অনুসারে অ্যাক্সেস করা যায়না। in অপারেটরের মাধ্যমে কোন উপাদান কোন সেটে আছে কিনা সেটা যাচাই করা যায়। ফলাফল হিসেবে True অথবা False পাওয়া যায়।
# This program is an example of set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
print("Python" in testSet)
ফলাফল-
True
সেট এ লুপ
লুপের মাধ্যমে সেটের প্রতিটি উপাদানকে অ্যাক্সেস করা যায়।
# This program is an example of looping set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
for i in testSet:
print(i)
ফলাফল-
C++
C
Java
C#
Python
সেট মেথডস (Set Methods)
অন্যান্য জটিল ডাটাটাইপের মতই সেটের জন্যও নির্দিষ্ট কিছু মেথড আছে। নিচে এগুলো আলোচনা করা হল (বর্ণমালার ক্রমানুসারে)।
add()
সেটে নতুন একটি উপাদান সংযুক্ত করার জন্য এই মেথডটি ব্যবহার করা হয়।
# This program is an example of add() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
testSet.add("Swift") # add() method
print(testSet)
ফলাফল-
{'C#', 'C++', 'C', 'Python', 'Swift', 'Java'}
clear()
সেটে বিদ্যমান সকল উপাদানগুলোকে মুছে ফেলার জন্য এই মেথডটি ব্যবহার করা হয়।
# This program is an example of clear() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
testSet.clear() # clear() method
print(testSet)
ফলাফল-
set()
copy()
একটি সেটের সকল উপাদান অন্য একটি সেটে কপি করার জন্য এই মেথডটি ব্যবহার করা হয়।
# This program is an example of copy() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
outputSet=testSet.copy() # copy() method
print(outputSet)
ফলাফল-
{'C++', 'C', 'C#', 'Python', 'Java'}
del()
এই মেথডটি সম্পূর্ণ সেটকে ডিলিট করে দেয়।
# This program is an example of del() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
del(testSet) # del() method
print(setLength)
ফলাফল-
Traceback (most recent call last):
File "main.py", line 7, in <module>
print(setLength)
NameError: name 'setLength' is not defined
একটা এরর এসেছে কারন আমরা এমন একটি সেটকে প্রিন্ট দেবার চেষ্টা করছি যেটা ইতিমধ্যেই ডিলিট করা হয়ে গেছে।
difference()
এই মেথডটি দুটি সেটের মধ্যে পার্থক্য নির্ণয় করে। মূলত এটি গণিতের সেটে মাইনাস অপারেটরের মত কাজ করে- প্রথম সেট থেকে দ্বিতীয় সেটের পার্থক্য বের করে। উদাহরণ থেকে বিস্তারিত জানা যাবে।
# This program is an example of difference() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
testSet2={"PHP","Python","Javascript"} # Defining a set
outputSet=testSet.difference(testSet2) # difference() method
outputSet2=testSet2.difference(testSet) # difference() method
print(outputSet)
print(outputSet2)
ফলাফল-
{'C', 'C#', 'Java', 'C++'}
{'Javascript', 'PHP'}
৬ষ্ঠ লাইনে প্রথম সেট থেকে দ্বিতীয় সেটকে বিয়োগ করা হয়েছে তাই ফলাফল এসেছে প্রথম সেটে যে ভ্যালুগুলো ইউনিক সেগুলো।
৭ম লাইনেও একই বিষয়ের পুনরাবৃত্তি ঘটেছে।
difference_update()
difference() মেথডের মতই, পার্থক্য হচ্ছে এই মেথডটি পার্থক্য তো বের করেই, সাথে সাথে মূল সেট থেকেও যে উপাদানগুলো একই সেটি মুছে ফেলে।
# This program is an example of difference_update() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
testSet2={"PHP","Python","Javascript"} # Defining a set
outputSet=testSet.difference_update(testSet2) # difference_update() method
print(testSet)
ফলাফল-
{'C#', 'C', 'C++', 'Java'}
এখানে মূল সেটটিকেই প্রিন্ট করা হয়ছে কিন্তু “Python” উপাদানটি নেই।
discard()
এই মেথডটি সেটে বিদ্যমান কোন উপাদানটি মুছে ফেলে।
# This program is an example of discard() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
testSet.discard("Java") # discard() method
print(testSet)
ফলাফল-
{'Python', 'C', 'C++', 'C#'}
intersection()
এই মেথডটি দুই বা তথোধিক সেটের ভিতর intersection বের করতে ব্যবহার করা হয়।
# This program is an example of intersection() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
testSet2={"PHP","Python","Javascript"} # Defining a set
outputSet=testSet.intersection(testSet2) # intersection() method
print(outputSet)
ফলাফল-
{'Python'}
intersection_update()
এই মেথডটি difference_update() এর মতই অর্থাৎ intersection করার পরে প্রাপ্ত উপাদান ছাড়া বাকি উপাদানগুলোকে মুছে ফেলে।
# This program is an example of intersection_update() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
testSet2={"PHP","Python","Javascript"} # Defining a set
outputSet=testSet.intersection_update(testSet2) # intersection_update() method
print(testSet)
ফলাফল-
{'Python'}
isdisjoint()
দুটি সেটের মধ্যে যদি একটি উপাদানেরও মিল না থাকে তাহলে True অন্যথায় False প্রদর্শন করে।
# This program is an example of isdisjoint() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
testSet2={"PHP","Python","Javascript"} # Defining a set
outputSet=testSet.isdisjoint(testSet2) # isdisjoint() method
print(outputSet)
ফলাফল-
False
issubset()
কোন একটি সেট অন্য একটি সেটের সাবসেট কিনা সেটা যাচাই করার জন্য এই মেথডটি ব্যবহার করা হয়। যদি সাবসেট হয় তাহলে True প্রদর্শন করে অন্যথায় False.
# This program is an example of issubset() method for set in python
testSet={"Python"} # Defining a set
testSet2={"PHP","Python","Javascript"} # Defining a set
outputSet=testSet.issubset(testSet2) # issubset() method
print(outputSet)
ফলাফল-
True
যেহেতু Python উপাদানটি testset2 তেও আছে তাই testset একটি সাবসেট।
issuperset()
একটি সেট আর একটি সেটের সুপারসেট কিনা যেটা যাচাই করার জন্য ব্যবহার করা হয়। যদি সুপারসেট হয় তাহলে True অন্যথায় False প্রদর্শন করে।
# This program is an example of issuperset() method for set in python
testSet={"Python"} # Defining a set
testSet2={"PHP","Python","Javascript"} # Defining a set
outputSet=testSet.issuperset(testSet2) # issuperset() method
outputSet2=testSet2.issuperset(testSet) # issuperset() method
print(outputSet)
print(outputSet2)
ফলাফল-
False
True
len()
কোন সেটে কতগুলো উপাদান আছে সেটা যাচাই করার জন্য len() মেথডটি ব্যবহার করা হয়।
# This program is an example of len() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
setLength=len(testSet)
print(setLength)
ফলাফল-
5
pop()
এই মেথডটি কোন সেট থেকে একটি উপাদানকে দৈবচয়ন পদ্ধতিতে pop করে এবং ফলাফল হিসেবে ঐ উপাদানটি প্রদর্শন করে।
# This program is an example of pop() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
poppedValue=testSet.pop() # pop() method
print(poppedValue)
print(testSet)
ফলাফল-
C#
{'Python', 'C++', 'Java', 'C'}
এখানে C# ভ্যালুটি pop হয়েছে।
remove()
remove() মেথডটি সেটে বিদ্যমান কোন একটি উপাদানকে মুছে ফেলার জন্য ব্যবহার করা হয়। এটি discard() এর মতই, তবে যদি কোন উপাদান সেটে না থাকে সেই উপদানকে discard() করতে গেলে কোন এরর দেয়না কিন্তু remove() মেথড দেয়।
# This program is an example of remove() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
testSet.remove("Java") # remove() method
print(testSet)
testSet.remove("Swift") # remove() method
print(testSet)
ফলাফল-
{'Python', 'C#', 'C++', 'C'}
Traceback (most recent call last):
File "main.py", line 9, in <module>
testSet.remove("Swift") # remove() method
KeyError: 'Swift'
৫ম লাইনে যখন remove করা হয়েছে তখন এটা সফলভাবে সম্পন্ন হয়েছে। কিন্তু ৯ম লাইনে Swift কে remove করার চেষ্টা করা হয়েছে যার কারণে একটি এরের এসেছে।
union()
সেটের ইউনিয়ন অপারেশনের জন্য এই মেথডটি ব্যবহার করা হয়।
# This program is an example of union() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
testSet2={"PHP","Javascript"} # Defining a set
outputSet=testSet.union(testSet2)
print(outputSet)
ফলাফল-
{'C#', 'Python', 'PHP', 'Java', 'Javascript', 'C', 'C++'}
update()
কোন একটি সেটকে অন্য একটি সেটের উপাদান দিয়ে আপডেট করার জন্য এই মেথডটি ব্যবহার করা হয়।
# This program is an example of update() method for set in python
testSet={"C","C++","C#","Java","Python"} # Defining a set
testSet2={"PHP","Javascript"} # Defining a set
testSet.update(testSet2)
print(testSet)
ফলাফল-
{'C++', 'C', 'Python', 'PHP', 'C#', 'Java', 'Javascript'}