আমরা tuples একটি তালিকা আছে. এটিতে আমাদের উপরের k ঘন ঘন উপাদানটি খুঁজে বের করতে হবে। k 3 হলে আমাদের তালিকার ভিতরের টিপল থেকে উপরের তিনটি উপাদান খুঁজে বের করতে হবে।
ডিফল্টডিক্ট সহ
আমরা ডিফল্টডিক্ট ব্যবহার করে উপাদানগুলিকে একটি অভিধান পাত্রে রাখি। তারপর শুধুমাত্র সেই উপাদানগুলি খুঁজে বের করুন যা সেই শীর্ষ k শর্তগুলি পূরণ করে৷
উদাহরণ
import collections from operator import itemgetter from itertools import chain # Input list initialization listA = [[('Mon', 126)], [('Tue', 768)],[('Wed', 512)], [('Thu', 13)],[('Fri', 341)]] # set K K = 3 #Given list print("Given list:\n",listA) print("Check value:\n",K) # Using defaultdict dict_ = collections.defaultdict(list) new_list = list(chain.from_iterable(listA)) for elem in new_list: dict_[elem[0]].append(elem[1]) res = {k: sum(v) for k, v in dict_.items()} # Using sorted res = sorted(res.items(), key=itemgetter(1), reverse=True)[0:K] # Output print("Top 3 elements are:\n", res)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
Given list: [[('Mon', 126)], [('Tue', 768)], [('Wed', 512)], [('Thu', 13)], [('Fri', 341)]] Check value: 3 Top 3 elements are: [('Tue', 768), ('Wed', 512), ('Fri', 341)]
সর্টেড এবং ইটারজেটার সহ
এই পদ্ধতিতে আমরা আইটেমজেটার ফাংশন ব্যবহার করি কিন্তু 0 থেকে কে-এর পরিসর উল্লেখ করে সাজানো ফাংশনের মধ্যে এটি প্রয়োগ করি।
উদাহরণ
from operator import itemgetter from itertools import chain # Input list initialization listA = [[('Mon', 126)], [('Tue', 768)],[('Wed', 512)], [('Thu', 13)],[('Fri', 341)]] # set K K = 3 #Given list print("Given list:\n",listA) print("Check value:\n",K) # Using sorted res = sorted(list(chain.from_iterable(listA)), key = itemgetter(1), reverse = True)[0:K] # Output print("Top 3 elements are:\n", res)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
Given list: [[('Mon', 126)], [('Tue', 768)], [('Wed', 512)], [('Thu', 13)], [('Fri', 341)]] Check value: 3 Top 3 elements are: [('Tue', 768), ('Wed', 512), ('Fri', 341)]