পাইথন তালিকায় সাবলিস্টও থাকতে পারে। একটি সাবলিস্ট নিজেই একটি বড় তালিকার মধ্যে থাকা একটি তালিকা। এই নিবন্ধে আমরা দেখব কিভাবে একটি প্রদত্ত তালিকার মধ্যে অনন্য সাবলিস্টের সংখ্যা গণনা করা যায়।
কাউন্টার ব্যবহার করা
কাউন্টার হল অভিধানের একটি সাবক্লাস এবং উপাদান এবং তাদের গণনা ট্র্যাক রাখতে ব্যবহৃত হয়। এটি একটি ক্রমবিহীন সংগ্রহ হিসাবেও বিবেচিত হয় যেখানে উপাদানগুলি ডিক্ট কী হিসাবে সংরক্ষণ করা হয় এবং তাদের গণনা ডিক্ট মান হিসাবে। সুতরাং নীচের উদাহরণে আমরা সরাসরি একটি তালিকা নিই যার সাবলিস্ট রয়েছে।
উদাহরণ
from collections import Counter # Given List Alist = [['Mon'],['Tue','Wed'],['Tue','Wed']] print(Counter(str(elem) for elem in Alist))
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
Counter({"['Tue', 'Wed']": 2, "['Mon']": 1}) অ্যাপেন্ড() সহ
এছাড়াও আমরা তালিকার উপাদানগুলির মাধ্যমে পুনরাবৃত্তি করতে পারি এবং এটিকে টিপল হিসাবে সেট করতে পারি এবং তারপরে একই উপাদানের প্রতিটি ঘটনার জন্য 1 যোগ করতে থাকি। অবশেষে নতুন তালিকা মুদ্রণ করুন যেটি কী হিসাবে সাবলিস্ট এবং তাদের মান হিসাবে গণনা দেখাচ্ছে।
উদাহরণ
# Given List
Alist = [['Mon'],['Tue','Wed'],['Tue','Wed'], ['Tue','Wed']]
# Initialize list
NewList = {}
# Use Append through Iteration
for elem in Alist:
NewList.setdefault(tuple(elem), list()).append(1)
for k, v in NewList.items():
NewList[k] = sum(v)
# Print Result
print(NewList) আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
{('Mon',): 1, ('Tue', 'Wed'): 3}