পাইথনে কী সেট রয়েছে এবং কীভাবে একটি তৈরি করা যায়

পাইথন সেট একটি তালিকা বা আইটেমের অ্যারে পৃথক মান ফিল্টার করার জন্য একটি অনন্য আক্ষরিক। পাইথন তালিকার মতো, অভিধানে বা টিপলে এটি নকল গ্রহণ করে না। সুতরাং এটি একটি মূল্যবান ডাটা সাফাই সরঞ্জাম হতে পারে।

তবে আপনি কীভাবে একটি সেট তৈরি করতে এবং পাইথনে এটি ব্যবহার করতে পারেন? আমরা এই পোস্টে এটি ব্যাখ্যা করব।

পাইথন সেটগুলির বৈশিষ্ট্য

সদৃশ গ্রহণ না করা ছাড়াও একটি সেট আক্ষরিকের অন্যান্য বৈশিষ্ট্য রয়েছে যা এটি অন্যান্য ডেটা ধরণের থেকে পৃথক করে। এখানে এর কয়েকটি বৈশিষ্ট্য রয়েছে:

  • এটি অপরিবর্তনীয়: এর অর্থ এটি আপনি একবার সেট তৈরি করার পরে মানগুলি পরিবর্তন করতে পারবেন না।
  • একটি সেট আক্ষরিক প্রতিবার আপনি তৈরি করার সময় গতিশীল বিন্যাস দেয়। সংক্ষেপে, একটি সেট আইটেমগুলি সীমানাবিহীন হয়।
  • যেহেতু এটি আনর্ডার্ড আইটেমগুলি উপস্থাপন করে, তালিকাগুলি এবং অভিধানের অক্ষরগুলি থেকে আলাদা, আপনি তাদের সূচী দ্বারা সেটগুলির মানগুলি পেতে পারেন না।

পাইথন সেট কীভাবে তৈরি এবং ব্যবহার করতে হয়

আপনি যখন পাইথন সেটের প্রাথমিক বৈশিষ্ট্যগুলি জানেন। আসুন আপনি আপনার প্রোগ্রামে এটি ব্যবহার করতে পারেন এমন কয়েকটি উপায় দেখুন।

পাইথনে সেট তৈরি করতে আপনি কোঁকড়া ধনুর্বন্ধনী ব্যবহার করেন। সুতরাং একটি সেটটি হ'ল কোঁকড়া ধনুর্বন্ধনী মধ্যে আইটেমের একটি তালিকা কমা দ্বারা আলাদা:

 mySet = {1, 2, "MUO", "Google"}
print(mySet)
Output: {1, 2, "MUO", "Google"}

আপনি অন্য যে কোনও ডেটা টাইপকে একটি সেটে রূপান্তর করতে পারেন। উদাহরণস্বরূপ, নীচের কোডটি একটি তালিকাকে একটি সেটকে রূপান্তর করে:

 myList = [1, 2, "MUO", "Google"]
mySet = set(myList)
print(mySet)
Output: {1, 2, "MUO", "Google"}

নিশ্চিত হওয়ার জন্য, আপনি মাইসেটের ডেটা ধরণের পরীক্ষা করতে পারেন:

 myList = [1, 2, "MUO", "Google"]
mySet = set(myList)
print(type(mySet))
Output: <class 'set'>

যেমনটি আমরা আগে উল্লেখ করেছি, একটি সেট সদৃশগুলি গ্রহণ করে না। আপনি সদৃশ মানগুলি মুছে ফেলে কোনও অ্যারে পরিষ্কার করতে চাইলে সেই বৈশিষ্ট্যটি কার্যকর হতে পারে।

নীচের কোডটি একটি তালিকার সদৃশগুলি সরিয়ে দেয় এবং আউটপুটটিকে পাইথন সেট হিসাবে উপস্থাপন করে:

 myList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
mySet = set(myList)
print(mySet)
Output: {1, 2, 'MUO', 'Google'}

সেটটির ফিল্টারিং বৈশিষ্ট্যটি আরও প্রদর্শন করতে আপনি যখন কোনও সেটের দৈর্ঘ্য মুদ্রণ করেন, এটি সদৃশ মান গণনা করে না:

 mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
print(len(mySet))
Output: 4

একটি সেট আরও ভাল ব্যবহার কেস দেখতে, আসুন নীচের অ্যারে সদৃশ অপসারণ। এটি অ্যারের অনন্য কীগুলি জিজ্ঞাসা করার মতো।

এটি করতে, অভিধানকে একটি সেটে রূপান্তর করুন:

 myDiction = {
"Mango":2, "Orange":2, "carrot":2, "MUO":"tech",
"MUO":"web", "Google":"search", "Google":"engine"
}
uniqueSet = set(myDiction)
print("These are the unique keys: {}".format(uniqueSet))
Output: These are the unique keys: {'Google', 'Mango', 'MUO', 'Orange', 'carrot'}

উপরের রূপান্তরটি অ্যারে থেকে সদৃশ আইটেমগুলি সরিয়ে দেয়।

আপনি লুপটির জন্য লুপটি আরও পরিষ্কার করে ব্যবহার করে উপরের কোডটি সংশোধন করতে পারেন:

 for uniques in uniqueSet:
print(uniques)

আপনি ইউনিয়ন () পদ্ধতির সাথে দুটি সেটেও যোগ দিতে পারেন:

 setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union(setB)
print(newSet)
Output: {1, 3, 4, 5, 6}

তবে উপরের কোডটি দুটি সেটগুলিতে যোগদান করে এবং সদৃশ মানগুলি সরিয়ে দেয়।

বিকল্পভাবে, আপনি পাইপ ব্যবহার করতে পারেন | পাইথনে সেটে যোগ দিতে ফাংশন:

 setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA|setB
print(newSet)
Output: {1, 3, 4, 5, 6}

পাইথনে আপনি দুটি সেটের মধ্যে পার্থক্যটিও খুঁজে পেতে পারেন:

 setA = {1, 3, 5}
setB = {2, 4, 5,}
print(setA.difference(setB))
Output: {1, 3}

আপনি সেট এ এবং বি এর মধ্যে প্রতিসাম্যপূর্ণ পার্থক্য খুঁজে পেতে পারেন এই পদ্ধতিটি দুটি সেটে আইটেম দেয় তবে তাদের ছেদগুলি বাদ দেয়। আসুন দেখুন কীভাবে এটি কাজ করে:

 setA = {1, 3, 5}
setB = {2, 4, 5,}
print(setA^setB)
Output: {1, 2, 3, 4}

বিকল্পভাবে, আপনি প্রতিসাম্য_ ডিফারেন্স () পদ্ধতিটি ব্যবহার করতে পারেন:

 setA = {1, 3, 5}
setB = {2, 4, 5,}
print(setA.symmetric_difference(setB))
Output: {1, 2, 3, 4}

নীচে সেটগুলির ছেদটি কীভাবে আপনি খুঁজে পেতে পারেন তাও দেখুন:

 setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection(setB, setC)
print(newSet)
Output: {1}

আপনি পাইথনের একটি তালিকায় যুক্ত হতে পারলে পাইথন সেটটির জন্য আপনি একই জিনিসটি করতে পারবেন না। তবে আপনি অ্যাড ফাংশনটি ব্যবহার করে কোনও সেটটির শেষে একটি আইটেম যুক্ত করতে পারেন।

তবে পাইথন অ্যাড ফাংশনটি একটি যুক্তি গ্রহণ করে, সুতরাং আপনি কেবলমাত্র একটি সেটটিতে একটি টুপল যোগ করতে পারেন। এটি নেস্টেড সেটটি দেয়:

 setA = {1, 3, 5}setC = {1, 3}
newSet = 1, 6
setC.add(newSet)
print(setC)
Output: {1, (1, 6), 3}

পাইথন সেট isdisjPoint () পদ্ধতি ব্যবহার করে দুটি সেট বঞ্চিত হয়েছে কিনা তা পরীক্ষা করতে। এরপরে এটি একটি বুলিয়ান ফেরত দেয়:

 setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint(setB)
print("It's {} that setA is a disjoint of B".format(findDisjoint))
Output: It's False that setA is a disjoint of B

যদি একটি সেট আরেকটির সাবসেট কিনা চেক করার জন্য, issubset সঙ্গে isdisjoint () () প্রতিস্থাপন করুন:

 findSubset = setA.issubset(setB)

আপনি একটি সেট থেকে একটি উপাদান অপসারণ করতে পারেন:

 setA = {1, 3, 5}
setA.remove(5)
print(setA)
Output: {1, 3}

পরিষ্কার () পদ্ধতিটি একটি সেটে উপাদানগুলি সাফ করে এবং একটি খালি সেট দেয়:

 setA = {1, 3, 5}
setA.clear()
print(setA)
Output: set()

আপনি একটি সেট থেকে একটি নির্বিচার আইটেম অপসারণ করতে পারেন এবং সেট.পপ () পদ্ধতি ব্যবহার করে এর মানটি ফিরিয়ে দিতে পারেন:

 setA = {1, 3, 5}
print(setA.pop())

আপনি আপডেট () পদ্ধতিটি সহ পাইথন সেট আপডেট করতে পারেন:

 setA = {1, 'b'}
setB = {2, 4, 5,}
print(setA.update(setB))
print(setA)
Output: {1, 2, 4, 5, 'b'}

পাইথন সেটগুলি প্রায় খেলুন

যদিও আমরা দেখেছি আপনি কীভাবে পাইথনে একটি সেট ব্যবহার করতে পারেন, আপনার কোডটিতে এটি প্রয়োগের অন্যান্য ব্যবহারিক উপায় রয়েছে। যেমনটি আপনি দেখেছেন, পাইথনের সাথে ডেটা পরিষ্কার করার সময় এটি কার্যকরও হতে পারে।

একটি সেট ছাড়াও, অন্যান্য পাইথন ডেটা ধরণের বা অ্যারেগুলির অনেকগুলি ব্যবহার এবং বিভিন্ন অ্যাপ্লিকেশন রয়েছে। তাদের আরও ভালভাবে ঝুলতে তাদের সাথে চারপাশে খেলার চেষ্টা করুন।