পাইথনের আরেকটা বিল্টইন ডেটা স্ট্রাকচার হচ্ছে Sets। যা অনেকটাই লিস্টের মত। লিস্টে আমরা একই আইটেম একের অধিক বার রাখতে পারি। আর সেটে সবই ইউনিক আইটেম রাখতে হয়। সেটের আরেকটা বৈশষ্ট হচ্ছে এর আইটেম গুলো পরিবর্তন করা যায় না। যদিও চাইলে আমরা এর আইটেম রিমুভ করতে পারব এবং নতুন আইটেম যুক্ত করতে পারব। এবং সেটের ডেটা গুলো সাজানো অবস্থায় থাকে না।
সেটের আইটেম গুলো লেখা হয় কার্লি ব্র্যাকেটের মধ্যে কমা দিয়ে আলাদা করে। যেমনঃ
book_set = {"Bangla", "English", "Math", “Physics"}
উপড়ে আমরা বলেছিলাম যে সেটের ডেটা গুলো সাজানো অবস্থায় থাকে না। তা বুঝার জন্য উপরের সেটটি কয়েকবার প্রিন্ট করে দেখতে পারি।
book_set = {"Bangla", "English", "Math", "Physics"} print(book_set)
আমরা দেখব আউটপুট একবার এক রকম দিচ্ছে। একবার এক অর্ডারে আউটপুট পাচ্ছি। কখনো Bangla আগে, কখনো English আগে। এর আগে লিস্ট বা ডিকশনারিতে দেখতাম যে আইটেম আগে ছিল, তা আগে আউটপুট দিত।
সেটে একটা আইটেম একবারই রাখে। আমরা যদি দুইবার রাখতে যাই, তাহলে রাখবে না। নিচের প্রোগ্রামটি দেখিঃ
book_set = {"Bangla", "Bangla", "English", "Math", "Physics"} print(book_set)
এখানে Bangla দুইবার রেখেছি। কিন্তু প্রিন্ট করে দেখেছি চারটা আইটেমই প্রিন্ট করেছে। Bangla আইটেমটাও একবারই প্রিন্ট করেছে।
সেটের সাইজ জানা
পাইথনের বিল্টইন অন্য সব ডেটা স্ট্রাকচারের মত সেটের সাইজও আমরা জানতে পারি len() মেথড দিয়ে। যেমনঃ
book_set = {"Bangla", "Bangla", "English", "Math", "Physics"} print(len(book_set))
যা আউটপুট দিবেঃ 4
সেটে আমরা সে কোন টাইপের ডেটা রাখতে পারি। যেমনঃ
random_set = {"Bangla", "3.1416", "True", “22"}
সেটে নতুন আইটেম যুক্ত করা
সেটে নতুন আইটেম নিচের মত করে যুক্ত করতে পারিঃ
book_set = {"Bangla", "English", "Math", "Physics"} book_set.add("Chemistry") print(book_set)
আউটপুটে দেখব পাঁচটি আইটেম প্রিন্ট করেছে।
সেট থেকে কোন আইটেম রিমুভ করাঃ
book_set = {"Bangla", "English", "Math", "Physics"} book_set.remove("English") print(book_set)
আউটপুটে দেখব তিনটে আইটেম প্রিন্ট করেছে।
লিস্ট, টাপল, ডিকশনারি এবং সেট ছিল পাইথনের বিল্টইন ডেটা স্ট্র্যাকচার। এছাড়া আমরা চাইলে নিজের মত করে ডেটা স্ট্র্যাকচার তৈরি করে নিতে পারি। যেমন তৈরি করতে পারি লিঙ্কড লিস্ট, স্ট্যাক, কিউ, গ্রাফ, হ্যাশম্যাপ ইত্যাদি।