পাইথন সেট ডেটা টাইপ {Python Sets data type}

পাইথন সেট ডেটা টাইপ {Python Sets data type}

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

  1. সেট ডাটাটাইপ
  2. ফ্রজেনসেট ডাটাটাইপ
 

সেট ডাটাটাইপ

একটি সেট তৈরি করতে, আমাদের কারলি ব্রাকেট{} ভিতরে কমা দ্বারা পৃথক করা এলিমেন্টসগুলি প্রবেশ করা উচিত।

s={10,20,30,20,50}
print(s) #may display {10, 20, 50, 30}{codeBox}

অনুগ্রহ করে লক্ষ্য করুন যে সেট 's'এলিমেন্টসগুলির অর্ডার মেইনটেইন রাখে না।আমরা 10,20,30,20 এবং 50 অর্ডার এলিমেন্টস প্রবেশ করেছি।কিন্তু এই প্রোগ্রামটি রান করালে এটি অন্য আদেশ বা আউটপুট দেখাচ্ছে।এছাড়াও আমরা সেট এলিমেন্টে 20 দুই বার ইনপুট করেছি, কিন্তু এটি শুধুমাত্র একটি 20 সংরক্ষণ করেছে। সেট তৈরি করতে আমরা সেট() ফাংশন ব্যবহার করতে পারি:

ch=set('hello')
print (ch) #may display {'h', 'e', 'o', 'l'}{codeBox}

এখানে 'hello'অক্ষর দিয়ে একটি সেট 'ch' তৈরি করা হয়েছে।যেহেতু একটি সেট ডুপ্লিকেট এলিমেন্ট সংরক্ষণ করে না,তার জন্য এটি দ্বিতীয় 'l' সংরক্ষণ করবে না। আমরা সেট() ফাংশন ব্যবহার করে একটি লিস্ট ডাটা টাইপকে সেট ডাটা টাইপিতে রূপান্তর করতে পারি:

lst=[1,2,5,4,3]
s=set(lst)
print(s) # may display {1, 2, 3, 4, 5}{codeBox}

যেহেতু সেটগুলি আনঅর্ডার নয়, তাই আমরা ইনডেক্সিং বা স্লাইসিং অপারেশন ব্যবহার করে এলিমেন্টগুলি পুনরুদ্ধার করতে পারি না। উদাহরণস্বরূপ, নিম্নলিখিত স্টেটমেন্টস এরর মেসেজ দেবে:

print(s[0]) # indexing, display 0th element
print(s[0.2]) #slicing, display from 0 to 1st elements{codeBox}

update() পদ্ধতিটি একটি সেট এলিমেন্ট যুক্ত করতে ব্যবহৃত হয়:

s.update([50,60])
print(s) # may display {1, 2, 3, 4, 5, 50, 60}{codeBox}

অন্যদিকে, remove() পদ্ধতিটি একটি সেট থেকে কোনো নির্দিষ্ট এলিমেন্ট রিমুভ করতে ব্যবহৃত হয়:

s.remove(50)
print(s) # may display {1, 2, 3, 4, 5, 60}{codeBox}

ফ্রজেনসেট ডাটাটাইপ

ফ্রজেনসেট ডেটা টাইপ সেট ডেটাটাইপের মতোই। এর প্রধান পার্থক্য হল সেট ডেটাটাইপের এলিমেন্টগুলি পরিবর্তন করা যেতে পারে; যেখানে, ফ্রজেনসেটের এলিমেন্টগুলি পরিবর্তন করা যায় না। frozenset() ফাংশনে একটি সেট পাস করে আমরা একটি ফ্রোজেনসেট তৈরি করতে পারি:

s={50,60,70,80,90}
print(s) # may display {70, 80, 50, 90, 60}
fs=frozenset(s)#create frozenset fs
print(fs) # may display frozenset ({80, 50, 70, 90, 60}){codeBox}

ফ্রোজেনসেট তৈরি করার আরেকটি উপায় হল frozenset() ফাংশনে একটি স্ট্রিং (অক্ষরের একটি গ্রুপ) পাস করা:

fs= frozenset("abcdefg")
print(fs) # may display frozenset({'f', 'b', 'e', 'g', 'd', 'a', 'c'}){codeBox}

যাইহোক, update() এবং remove() পদ্ধতিগুলি ফ্রোজেনসেটে কাজ করবে না কারণ সেগুলি পরিবর্তন বা আপডেট করা যাবে না।

নবীনতর পূর্বতন