সমস্যা বিবরণ
ডেটা অ্যানালিসিসে প্রায়ই একটি লিস্ট থেকে নির্দিষ্ট মান K-র চেয়ে বড় কিন্তু সেগুলোর মধ্যে সবচেয়ে ছোট উপাদান বের করতে হয়। এই আর্টিকেলে তিনটি পদ্ধতি দেখানো হয়েছে।
পদ্ধতি ১: min() ফাংশন ব্যবহার
লিস্টের প্রতিটি উপাদান চেক করুন যেগুলো K-র চেয়ে বড়, তারপর min() দিয়ে ন্যূনতমটি বের করুন।
listA = [1, 5, 6, 7, 11, 14]
k = 8
res = min(i for i in listA if i > k)
print("Minimum element greater than k:", res) # আউটপুট: 11
পদ্ধতি ২: filter() এবং lambda ব্যবহার
filter(lambda i: i > k, listA) দিয়ে ফিল্টার করুন, তারপর min()।
listA = [1, 5, 6, 7, 11, 14]
k = 8
res = min(filter(lambda i: i > k, listA))
print("Minimum element greater than k:", res) # আউটপুট: 11
পদ্ধতি ৩: bisect_right ব্যবহার (সর্টেড লিস্টের জন্য)
bisect_right দিয়ে ইনসারশন পয়েন্ট বের করুন, সেটি সরাসরি আউটপুট দেবে। লিস্টটি সর্টেড হতে হবে।
from bisect import bisect_right
listA = [1, 5, 6, 7, 11, 14]
k = 8
listA.sort()
res = listA[bisect_right(listA, k)]
print("Minimum element greater than k:", res) # আউটপুট: 11