পাইথন সেট/ফ্রোজেনসেট ডেটা স্ট্রাকচার - অংশ 4 শিখুন


পাইথন ডেটা স্ট্রাকচার সিরিজের এই পার্ট 4 এ, আমরা আলোচনা করব যে সেটটি কী, এটি কীভাবে পাইথনের অন্যান্য ডেটা কাঠামো থেকে আলাদা, কীভাবে সেট অবজেক্ট তৈরি করা যায়, সেট অবজেক্টস এবং সেট অবজেক্টের পদ্ধতিগুলি মুছতে হয়।

  • একটি সেট অবজেক্টটি স্বতন্ত্র হ্যাশেবল অবজেক্টগুলির একটি আনর্ডারড সংগ্রহ
  • সেটটি স্বয়ংক্রিয়ভাবে বস্তু থেকে সদৃশ আইটেমগুলি সরিয়ে দেয়
  • যেহেতু সেট অবজেক্টগুলি অর্ডারড নয়, কোনও ইনডেক্সিং এবং স্লাইসিং অপারেশন সমর্থিত নয়

বর্তমানে দুটি অন্তর্নির্মিত সেট প্রকার রয়েছে।

  1. সেট - যেহেতু এটি পরিবর্তনীয়, তাই এর কোনও হ্যাশ মান নেই এবং এটি অভিধান কী বা অন্য সেট এর উপাদান হিসাবে ব্যবহার করা যায় না
  2. হিমশীতল - অপরিবর্তনীয় এবং হ্যাশেবল - এটি তৈরির পরে এর সামগ্রীগুলি পরিবর্তন করা যায় না; সুতরাং, এটি অভিধান কী বা অন্য সেট এর উপাদান হিসাবে ব্যবহৃত হতে পারে

সেট অবজেক্ট কনস্ট্রাক্ট করুন

কনস্ট্রাক্টর মেথড “সেট()” ব্যবহার করে অথবা কোমা দিয়ে কোঁকড়া ধনুর্বন্ধনী ব্যবহার করে একটি উপাদান তৈরি করুন “{a, b, c}” উপাদানগুলি পৃথক করে।

দ্রষ্টব্য: আপনি খালি ধনুর্বন্ধনী মাধ্যমে একটি সেট অবজেক্ট নির্মাণ করতে পারবেন না কারণ এটি অভিধান অবজেক্ট তৈরি করবে।

পদ্ধতিগুলি সেট করুন

উপলব্ধ সেট পদ্ধতি এবং বৈশিষ্ট্যগুলি তালিকাভুক্ত করতে বিল্ট ইন "ডায়ার()" ফাংশন ব্যবহার করুন।

অবজেক্ট সেট করতে উপাদান যুক্ত করুন Add

যেমন ইতিমধ্যে বলা হয়েছে, সেটটি একটি পরিবর্তনীয় প্রকার। আপনার সেট অবজেক্টটি তৈরি হয়ে গেলে আপনি এটি যোগ করতে, মুছতে, আপডেট করতে পারবেন।

আসুন আমরা দুটি সেট পদ্ধতি অ্যাড এবং আপডেট সম্পর্কে কথা বলি।

  • অ্যাড (এলেম) পদ্ধতি - এই পদ্ধতিটি কোনও সেট অবজেক্টে একটি উপাদান যুক্ত করে।
  • আপডেট (* অন্যান্য) পদ্ধতি - এই পদ্ধতিটি একটি সেট অবজেক্টে একাধিক উপাদান যুক্ত করে। আপনি পরিবর্তন পদ্ধতিতে পরিবর্তন পদ্ধতি/পরিবর্তনযোগ্য অবজেক্টগুলিকে আপডেট পদ্ধতিতে আর্গুমেন্ট হিসাবে পাস করতে পারেন

দ্রষ্টব্য: সদৃশগুলি স্বয়ংক্রিয়ভাবে সরানো হবে।

একটি সেট অবজেক্ট থেকে উপাদানগুলি সরান/সাফ করুন

যেমন আপনি অন্যান্য ডেটা স্ট্রাকচার বিষয় (অভিধান) এ দেখেছেন, সেট জন্য আপনি বিল্ট-ইন কীওয়ার্ড ব্যবহার করতে পারেন "ডেল" নামের স্থানটি (যেমন মেমরি) থেকে সেট অবজেক্টটি মুছতে।

উপাদানগুলি মুছে ফেলার জন্য নীচে সেট অবজেক্টের পদ্ধতি রয়েছে।

  • সাফ() - সেটটি খালি করে দেওয়ার সমস্ত উপাদান সাফ করবে। এই পরিষ্কার() পদ্ধতিটি একই কার্যকারিতা সরবরাহকারী অন্যান্য ডেটা স্ট্রাকচারে উপলভ্য।
  • পপ() - স্বেচ্ছাসেবী উপাদানগুলি সরায়
  • ফেলে দিন (এলেম) - যদি আইটেমটি সেট অবজেক্টে পাওয়া যায় না তবে "বাতিল()" পদ্ধতিটি কোনও ত্রুটি বাড়িয়ে তুলবে না
  • (এলেম) সরান - "বাতিল()" পদ্ধতির মতো তবে কোনও আইটেম পাওয়া না গেলে এটি কী-ইরার উত্থাপন করবে

অপারেশন সেট করুন

সেট গাণিতিক ক্রিয়াকলাপগুলি যেমন চৌরাস্তা, ইউনিয়ন, পার্থক্য এবং প্রতিসম পার্থক্য সম্পাদনের জন্য পদ্ধতি সরবরাহ করে। আপনার উচ্চ বিদ্যালয়ের দিনগুলি থেকে "ভেন ডায়াগ্রাম" মনে আছে?

গাণিতিক ক্রিয়াকলাপ কীভাবে সম্পাদিত হয় সে সম্পর্কে আমরা নীচের পদ্ধতিগুলিতে এক নজর দেব।

  • ইউনিয়ন
  • ছেদ
  • চৌরাস্তা_আপডেট
  • প্রতিসাম্য_সংখ্যা
  • প্রতিসম_পরিচয়_আপডেট
  • পার্থক্য
  • পার্থক্য_আপডেট
  • isdisjoint
  • জারি করা
  • ইস্যুকারীগুলি

  • ইউনিয়ন (* অন্যান্য) - সেট থেকে অন্যান্য সমস্ত উপাদান সহ অন্য একটি সেট সেট করুন
  • ছেদ ((অন্যান্য)) - সেটে সাধারণ উপাদান এবং অন্য সকলের সাথে একটি নতুন সেট ফিরে আসুন
  • পার্থক্য (* অন্যদের) - সেটে উপাদানগুলির সাথে একটি নতুন সেট করুন যা অন্যদের মধ্যে নেই
  • প্রতিসাম্য_আপনি (অন্যান্য) - সেটের উপাদানগুলির সাথে একটি নতুন সেট ফেরত দিন বা অন্যটি নয় তবে উভয়ই।

চৌরাস্তা_আপডেট (* অন্যান্য) - সেটটিতে আপডেট করুন এবং এতে এবং অন্যান্য সমস্তগুলিতে কেবলমাত্র উপাদান রয়েছে keeping

পার্থক্য_আপডেট (* অন্যান্য) - সেটটিতে আপডেট করুন এবং এতে এবং অন্যান্য সমস্তগুলিতে কেবলমাত্র উপাদান রয়েছে।

symmetric_differences_update (অন্যান্য) - সেটটি আপডেট করুন, কেবলমাত্র উভয় সেটে পাওয়া উপাদানগুলি রাখুন, তবে উভয়ই নয়।

  • isdisjPoint (অন্যান্য) - যদি সেটের কোনও উপাদানগুলির সাথে অন্যের সাথে মিল না থাকে তবে সত্যটি ফিরে আসুন। সেটগুলি বিচ্ছিন্ন হয় যদি এবং কেবল যদি তাদের ছেদটি ফাঁকা সেট থাকে
  • ইস্যুবসেট() - সেটের প্রতিটি উপাদান অন্যটিতে রয়েছে কিনা তা পরীক্ষা করুন
  • ইস্যুপারসেট() - অন্যের প্রতিটি উপাদান সেটে রয়েছে কিনা পরীক্ষা করুন

আপনি অনুলিপি() পদ্ধতি ব্যবহার করে বিদ্যমান সেট অবজেক্টের একটি অভিন্ন অনুলিপি তৈরি করতে পারেন। এই পদ্ধতিটি অন্যান্য ডেটা কাঠামোর ধরণের জন্য যেমন তালিকা, অভিধান ইত্যাদির জন্যও উপলভ্য ...

অন্তর্নির্মিত "ডেল" কীওয়ার্ড ব্যবহার করে নাম স্থান থেকে সেট অবজেক্টটি মুছুন।

  • হিমায়িত সেট অপরিবর্তনীয় টাইপ। একবার তৈরি হয়ে গেলে আপনি তালিকা থেকে উপাদানগুলি যোগ করতে, অপসারণ বা আপডেট করতে পারবেন না
  • হিমায়িত সেট অপরিবর্তনীয় হওয়ায় হাশেবল, অন্য সেট অবজেক্টের জন্য অভিধান বা উপাদানগুলির জন্য "কী" হিসাবে ব্যবহার করা যেতে পারে
  • হিমায়িত সেটটি "হিমায়িত()" ফাংশন ব্যবহার করে নির্মিত হয়
  • হিমায়িত সেট ইউনিট(), ছেদ, অনুলিপি(), আইসডিজোয়েন্ট() ইত্যাদির মতো "সেট" এর সাথে তুলনা করে একই পদ্ধতিগুলির সেট সরবরাহ করে

এই নিবন্ধে আপনি কী সেট করেছেন তা দেখেছেন, সেট এবং হিমায়িত সেটের মধ্যে পার্থক্য, কীভাবে সেট উপাদানগুলি তৈরি এবং অ্যাক্সেস করবেন, সেট পদ্ধতিগুলি ইত্যাদি ...