পাইথনের বৃহত্তম এবং ক্ষুদ্রতম মানগুলি থেকে ক্রমানুসারে একটি তালিকার n উপাদানগুলি পাওয়া

ব্যবসায়

আপনি যদি পাইথনের বৃহত্তম বা ক্ষুদ্রতম মান এবং n=1 থেকে একটি তালিকা (অ্যারে) এর n উপাদানগুলি পেতে চান তবে আপনি নিম্নলিখিত বিল্ট-ইন ফাংশনটি ব্যবহার করতে পারেন।

  • max()
  • min()

যদি n>1 হয়, তালিকাটি সাজানোর বা স্ট্যান্ডার্ড লাইব্রেরির heapq মডিউল ব্যবহার করার দুটি উপায় আছে।

  • সর্বোচ্চ এবং সর্বনিম্ন মান পান:max(),min()
  • সর্বাধিক এবং সর্বনিম্ন মানের ক্রম অনুসারে n উপাদানগুলি পান৷:সাজান
  • সর্বাধিক এবং সর্বনিম্ন মানের ক্রম অনুসারে n উপাদানগুলি পান৷:heapqমডিউল

যদি পুনরুদ্ধারের উপাদানগুলির সংখ্যা বড় হয়, তাহলে প্রথমে তাদের সাজানো () বা সাজানো(), এবং সংখ্যাটি ছোট হলে, heapq মডিউলের nargest() এবং nsmallest() ব্যবহার করে এটি আরও কার্যকরী।

সর্বাধিক এবং সর্বনিম্ন মানগুলির সূচী পেতে, সর্বাধিক(), মিন() এবং সূচক() ব্যবহার করুন।

সর্বোচ্চ এবং সর্বনিম্ন মান পান:max(),min()

তালিকার সর্বাধিক এবং সর্বনিম্ন উপাদান পেতে, অন্তর্নির্মিত ফাংশন max() এবং min() ব্যবহার করুন।

l = [3, 6, 7, -1, 23, -10, 18]

print(max(l))
# 23

print(min(l))
# -10

সর্বাধিক এবং সর্বনিম্ন মানের ক্রম অনুসারে n উপাদানগুলি পান: সাজান

আপনি যদি একটি তালিকার n উপাদানগুলিকে সবচেয়ে বড় বা ক্ষুদ্রতম মান থেকে ক্রমানুসারে পেতে চান তবে প্রথম পদ্ধতিটি হল তালিকাটিকে সাজানো (বাছাই) করা।

তালিকাটি সাজানোর জন্য, বিল্ট-ইন ফাংশন sorted() বা তালিকার sort() পদ্ধতি ব্যবহার করুন। sorted() একটি নতুন সাজানো তালিকা প্রদান করে, যখন sort() মূল তালিকাটি পুনরায় সাজায়।

আর্গুমেন্ট রিভার্স দিয়ে ঊর্ধ্বগামী/অবরোহী ক্রম পরিবর্তন করে এবং উপরে থেকে যে কোনো সংখ্যক স্লাইস নির্বাচন করে, আপনি তালিকার বৃহত্তম/অপ্রধান মান থেকে ক্রমানুসারে n উপাদান পেতে পারেন।

ld = sorted(l, reverse=True)
print(ld)
# [23, 18, 7, 6, 3, -1, -10]

print(ld[:3])
# [23, 18, 7]

la = sorted(l)
print(la)
# [-10, -1, 3, 6, 7, 18, 23]

print(la[:3])
# [-10, -1, 3]

আপনি এক লাইনে তাদের সব লিখতে পারেন.

print(sorted(l, reverse=True)[:3])
# [23, 18, 7]

print(sorted(l)[:3])
# [-10, -1, 3]

আপনি যদি আসল তালিকার ক্রম পরিবর্তন করতে আপত্তি না করেন তবে আপনি sort() পদ্ধতি ব্যবহার করতে পারেন।

print(l)
# [3, 6, 7, -1, 23, -10, 18]

l.sort(reverse=True)
print(l[:3])
# [23, 18, 7]

print(l)
# [23, 18, 7, 6, 3, -1, -10]

l.sort()
print(l[:3])
# [-10, -1, 3]

print(l)
# [-10, -1, 3, 6, 7, 18, 23]

সর্বাধিক এবং সর্বনিম্ন মানের ক্রম অনুসারে n উপাদানগুলি পান৷:heapqমডিউল

আপনি যদি একটি তালিকার n উপাদানগুলিকে বৃহত্তম বা ক্ষুদ্রতম মান থেকে পেতে চান, আপনি heapq মডিউল ব্যবহার করতে পারেন।

heapq মডিউলে নিম্নলিখিত ফাংশনটি ব্যবহার করুন। এই ক্ষেত্রে, মূল তালিকা পরিবর্তন করা হবে না.

  • nlargest()
  • nsmallest()

প্রথম যুক্তিটি পুনরুদ্ধার করা উপাদানগুলির সংখ্যা, এবং দ্বিতীয় যুক্তিটি হল পুনরাবৃত্তিযোগ্য (তালিকা, ইত্যাদি) টার্গেট করা।

import heapq

l = [3, 6, 7, -1, 23, -10, 18]

print(heapq.nlargest(3, l))
# [23, 18, 7]

print(heapq.nsmallest(3, l))
# [-10, -1, 3]

print(l)
# [3, 6, 7, -1, 23, -10, 18]

যেমনটি আমি শুরুতে লিখেছিলাম, যদি পুনরুদ্ধারের জন্য উপাদানগুলির সংখ্যা বড় হয়, তবে প্রথমে তাদের সাজানো () বা সাজানো() দিয়ে সাজানো আরও কার্যকরী, এবং সংখ্যাটি ছোট হলে, nargest() এবং nsmallest() এর heapq মডিউল আরো দক্ষ।

Copied title and URL