বিভিন্ন দৈর্ঘ্যের অনেক স্ট্রিং ধারণকারী একটি তালিকা বিবেচনা করা যাক। এই প্রবন্ধে আমরা দেখব কিভাবে সেই উপাদানগুলোকে গ্রুপে একত্রিত করা যায় যেখানে প্রতিটি গ্রুপে স্ট্রিং সমান দৈর্ঘ্যের।
লুপের জন্য
আমরা একটি লুপের জন্য ডিজাইন করি যা তালিকার প্রতিটি উপাদানের মাধ্যমে পুনরাবৃত্তি করবে এবং এটি শুধুমাত্র সেই তালিকায় ঘটেছে যেখানে এর দৈর্ঘ্য বিদ্যমান উপাদানের দৈর্ঘ্যের সাথে মিলে যায়৷
উদাহরণ
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']]