পাইথনে সেট ডাটা স্ট্রাকচার একটি বিশেষ টাইপ যেটা গণিতের সেটের উপর ভিত্তি করে তৈরি। এটা কোন অর্ডার বা ক্রম এবং ইনডেক্স অনুসরণ করে না। সেটের উপাদানগুলোকে দ্বিতীয় বন্ধনীর মধ্যে লেখা হয়।
# 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() 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 করার চেষ্টা করা হয়েছে যার কারণে একটি এরের এসেছে।
set()
এটি মূলত একটি কনস্ট্রাকটর যেটি কোন একটি
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'}