কম্পিউটার

পাইথনের সাথে একটি সিকোয়েন্সে সর্বাধিক ঘন ঘন ঘটতে থাকা আইটেমগুলি কীভাবে সনাক্ত করবেন?


সমস্যা

আপনাকে একটি ক্রমানুসারে সর্বাধিক ঘন ঘন ঘটতে থাকা আইটেমগুলি সনাক্ত করতে হবে৷

সমাধান

আমরা একটি ক্রমানুসারে আইটেম ট্র্যাক রাখতে কাউন্টার ব্যবহার করতে পারি।

কাউন্টার কি?

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

আপনি যখন ডেটা বিশ্লেষণ করছেন তখন "কাউন্টার" হল আপনার সেরা বন্ধুদের একজন৷

এই বস্তুটি বেশ কিছুদিন ধরে পাইথনে উপস্থিত রয়েছে, এবং তাই আপনার অনেকের জন্য, এটি একটি দ্রুত পর্যালোচনা হবে৷ আমরা সংগ্রহ থেকে কাউন্টার আমদানি করে শুরু করব৷

সংগ্রহ আমদানি কাউন্টার থেকে

একটি ঐতিহ্যগত অভিধান, যদি এটির একটি অনুপস্থিত কী থাকে, তাহলে একটি মূল ত্রুটি উত্থাপন করবে। পাইথনের অভিধানগুলি কী খুঁজে না পাওয়া গেলে একটি কী ত্রুটির সাথে উত্তর দেবে।

# একটি খালি অভিধান ={}# একটি খালি ডিক্ট্রিক্টে একটি কী পরীক্ষা করুন['mystring' # ত্রুটি বার্তা--------- -------------------------------------------------- --KeyError Traceback (সর্বশেষ সাম্প্রতিক কল) in 34# একটি খালি ডিক্ট----> 5 dict['mystring']67 # Error messageKeyError:'মিস্ট্রিং'

এই পরিস্থিতিতে আমরা কী ত্রুটির ব্যতিক্রমগুলি এড়াতে পারি?

কাউন্টার হল অভিধানের একটি উপ-শ্রেণি এবং এর খুব অভিধানের মতো আচরণ রয়েছে, তবে, আপনি যদি একটি কী ত্রুটি উত্থাপনের পরিবর্তে একটি অনুপস্থিত কী সন্ধান করেন তবে এটি কেবল শূন্য প্রদান করে৷

# কাউন্টারকে সংজ্ঞায়িত করুন =কাউন্টার()


# অনুপলব্ধ কীপ্রিন্টের জন্য পরীক্ষা করুন(f"আউটপুট\n{c['mystring']}")

আউটপুট

0
c['mystring'] +=1print(f"আউটপুট\n{c}")

আউটপুট

কাউন্টার({'mystring':1})

উদাহরণ

মুদ্রণ(f"আউটপুট\n{type(c)}")

আউটপুট

একটি অনুক্রমের মধ্যে সবচেয়ে ঘন ঘন ঘটে যাওয়া আইটেমগুলি

কাউন্টার সম্পর্কে অন্য একটি চমৎকার জিনিস হল যে আপনি বস্তুর একটি তালিকা করতে পারেন এবং এটি আপনার জন্য তাদের গণনা করবে। এটি আমাদের কাউন্টার তৈরি করার জন্য একটি লুপ তৈরি করা থেকে বাঁচায়৷

কাউন্টার

আউটপুট

 কাউন্টার ':1,'নয়':1, 'দিন':1, 'পুরাতন':1})

বিভাজন কি করবে তা হল স্ট্রিংটি নিয়ে শব্দের তালিকায় বিভক্ত। এটি সাদা জায়গায় বিভক্ত হয়৷

"কাউন্টার" সেই তালিকাটি লুপ করবে এবং সমস্ত শব্দ গণনা করবে, আমাদের আউটপুটে দেখানো গণনা দেবে।

আরও আছে, আমি শব্দগুচ্ছের সবচেয়ে সাধারণ শব্দগুলিও গণনা করতে পারি।

most_common() পদ্ধতি আমাদের প্রায়শই ঘটছে এমন আইটেম দেবে।

count =পাল্টা 

আউটপুট

[('পোরিজ', 3)]

উদাহরণ

মুদ্রণ(f"আউটপুট\n{count.most_common(2)}")

আউটপুট

[('পোরিজ', 3), ('মটর', 2)]

উদাহরণ

মুদ্রণ(f"আউটপুট\n{count.most_common(3)}")

আউটপুট

[('পোরিজ', 3), ('মটর', 2), ('মটর', 1)]

লক্ষ্য করুন যে এটি টিপলের একটি তালিকা ফিরিয়ে দিয়েছে। টিপলের প্রথম অংশটি শব্দ, এবং দ্বিতীয় অংশটি তার গণনা।

কাউন্টার ইন্সট্যান্সের একটি স্বল্প পরিচিত বৈশিষ্ট্য হল যে এগুলিকে বিভিন্ন গাণিতিক ক্রিয়াকলাপ ব্যবহার করে সহজেই একত্রিত করা যায়৷

স্ট্রিং ='মটর শুঁটি গরম মটর শুঁটি ঠাণ্ডা মটর দোল পাত্রে নয় দিন পুরানো' অন্য_স্ট্রিং ='মটর মটর গরম মটর মটর ঠান্ডা মটর' =কাউন্টার(string.split())b =Counter(another_string.split ())


# কাউন্টসাড যোগ করুন =a + bprint(f"আউটপুট\n{add}")

আউটপুট

কাউন্টার ':1, 'নয়':1, 'দিন':1, 'পুরানো':1})
# বিয়োগ গণনা =a - bprint(f"আউটপুট\n{sub}")

আউটপুট

কাউন্টার /প্রে>

অবশেষে, কাউন্টার একটি কন্টেইনারে ডেটা কীভাবে সংরক্ষণ করে তাতে খুব স্মার্ট৷

আপনি উপরে দেখতে পাচ্ছেন যে এটি সংরক্ষণ করার সময় শব্দগুলিকে একত্রে গোষ্ঠীবদ্ধ করে যা আমাদেরকে সেগুলিকে একত্রে নেওয়ার অনুমতি দেয় যা সাধারণত একটি মাল্টিসেট হিসাবে উল্লেখ করা হয়৷

আমরা উপাদান ব্যবহার করে এক সময়ে শব্দ টানতে পারি। এটি অর্ডারটি মনে রাখে না তবে একটি বাক্যাংশে সমস্ত শব্দ রাখে৷

উদাহরণ

মুদ্রণ(f"আউটপুট\n{list(a.elements())}")

আউটপুট

<প্রি> ', 'দিন', 'পুরানো']

উদাহরণ

মুদ্রণ(f"আউটপুট\n{list(a.values())}")

আউটপুট

[1, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1] 

উদাহরণ

প্রিন্ট(f"আউটপুট\n{list(a.items())}")

আউটপুট

[('মটর', 1), ('পোরিজ', 3), ('গরম', 1), ('মটর', 2), ('ঠান্ড', 1), ('ইন', 1 ), ('দ্য', 1), ('পাত্র', 1), ('নয়', 1), ('দিন', 1), ('পুরানো', 1)] 

  1. বোকেহ (পাইথন) এর চিত্রগুলির সাথে কীভাবে কাজ করবেন?

  2. পাইথনের সাথে API ফলাফলগুলি কীভাবে ভিজ্যুয়ালাইজ করবেন

  3. পাইথনে সর্বাধিক জল সহ ধারক

  4. পাইথনে সংখ্যা সহ একটি স্ট্রিং কীভাবে সংযুক্ত করবেন?