একটি লিস্ট দেওয়া হলে, আমাদের এর উপাদানগুলির ক্রম যাচাই করার প্রয়োজন হতে পারে। এই আর্টিকেলে আমরা জানব কিভাবে একটি লিস্টের উপাদানগুলি স্ট্রিক্টলি বর্ধমান ক্রমে আছে কিনা তা নির্ধারণ করা যায়। নিচের প্রোগ্রামগুলি এই উদ্দেশ্যে সফল হয়।
all এবং zip ফাংশন ব্যবহার করে
এই পদ্ধতিতে, আমরা প্রথমে লিস্টের প্রতিটি উপাদানকে স্লাইস করে এর মান পরবর্তী স্লাইস করা উপাদানের সাথে তুলনা করি। যদি সমস্ত তুলনা সত্য হয়, তবে আমরা নিশ্চিতভাবে বলতে পারি যে লিস্টটি স্ট্রিক্টলি বর্ধমান ক্রমে আছে।
উদাহরণ
listA = [11, 23, 42, 51, 67] # দেওয়া লিস্ট
print("Given list : ", listA)
# all এবং zip প্রয়োগ
if all(i < j for i, j in zip(listA, listA[1:])):
print("Yes, List is sorted.")
else:
print("No, List is not sorted.")
# আবার যাচাই
listB = [11, 23, 21, 51, 67]
print("Given list : ", listB)
if all(i < j for i, j in zip(listB, listB[1:])):
print("Yes, List is sorted.")
else:
print("No, List is not sorted.")
আউটপুট
উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যায়:
Given list : [11, 23, 42, 51, 67] Yes, List is sorted. Given list : [11, 23, 21, 51, 67] No, List is not sorted.
itertools.starmap ব্যবহার করে
itertools.starmap একটি ইটারেটর তৈরি করে যা ইটারেবল থেকে প্রাপ্ত আর্গুমেন্ট ব্যবহার করে ফাংশন গণনা করে। আমরা উপাদানগুলির লিস্টকে স্লাইস করার পর জিপ করি এবং তারপর less than or equal to অপারেটর প্রয়োগ করি। দ্রষ্টব্য, নিচের উদাহরণগুলিতে সংখ্যার বদলে স্ট্রিং ব্যবহার করা হয়েছে।
উদাহরণ
import operator
import itertools
listA = ['Mon', 'Tue', 'Sun'] # দেওয়া লিস্ট
print("Given list : ", listA)
if all(itertools.starmap(operator.le, zip(listA, listA[1:]))):
print("Yes, List is sorted.")
else:
print("No, List is not sorted.")
# আবার যাচাই
listB = ['Mon', 'Sun', 'Tue']
print("Given list : ", listB)
if all(itertools.starmap(operator.le, zip(listB, listB[1:]))):
print("Yes, List is sorted.")
else:
print("No, List is not sorted.")
আউটপুট
উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যায়:
Given list : ['Mon', 'Tue', 'Sun'] No, List is not sorted. Given list : ['Mon', 'Sun', 'Tue'] Yes, List is sorted.