কম্পিউটার

Python প্রদত্ত তালিকাটিকে স্ট্রিং আকার অনুসারে শ্রেণিবদ্ধ করুন


বিভিন্ন দৈর্ঘ্যের অনেক স্ট্রিং ধারণকারী একটি তালিকা বিবেচনা করা যাক। এই প্রবন্ধে আমরা দেখব কিভাবে সেই উপাদানগুলোকে গ্রুপে একত্রিত করা যায় যেখানে প্রতিটি গ্রুপে স্ট্রিং সমান দৈর্ঘ্যের।

লুপের জন্য

আমরা একটি লুপের জন্য ডিজাইন করি যা তালিকার প্রতিটি উপাদানের মাধ্যমে পুনরাবৃত্তি করবে এবং এটি শুধুমাত্র সেই তালিকায় ঘটেছে যেখানে এর দৈর্ঘ্য বিদ্যমান উপাদানের দৈর্ঘ্যের সাথে মিলে যায়৷

উদাহরণ

listA = ['Monday','Thursday','Friday','Saturday','Sunday']
# Given list
print("Given list : \n",listA)
# Categorize by string size
len_comp = lambda x, y: len(x) == len(y)
res = []
for sub_list in listA:
   ele = next((i for i in res if len_comp(sub_list, i[0])), [])
   if ele == []:
      res.append(ele)
   ele.append(sub_list)
# Result
print("The list after creating categories : \n",res)

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

Given list :
['Monday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
The list after creating categories :
[['Monday', 'Friday', 'Sunday'], ['Thursday', 'Saturday']]

বাছাই এবং গ্রুপ দ্বারা

এই পদ্ধতিতে আমরা প্রথমে সমস্ত উপাদানকে তাদের দৈর্ঘ্য অনুযায়ী শট করি এবং তারপর ফাংশন দ্বারা গ্রুপটি প্রয়োগ করি যা itertools মডিউলের অংশ৷

উদাহরণ

from itertools import groupby
listA = ['Monday','Thursday','Friday','Saturday','Sunday']
# Given list
print("Given list : \n",listA)
# Categorize by string size
get_len = lambda x: len(x)
sub_list = sorted(listA, key = get_len)
res = [list(ele) for i, ele in groupby(sub_list, get_len)]
# Result
print("The list after creating categories : \n",res)

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

Given list :
['Monday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
The list after creating categories :
[['Monday', 'Friday', 'Sunday'], ['Thursday', 'Saturday']]

  1. প্রদত্ত স্ট্রিংটি স্বরবর্ণ প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  2. প্রদত্ত স্ট্রিং প্যানগ্রাম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  3. পাইথনে তালিকার সর্বোচ্চ আকার কত?

  4. কিভাবে পাইথনে একটি স্ট্রিং আকার পেতে?