লিস্ট কম্প্রিহেনশন পাইথনে একটি জনপ্রিয় টেকনিক। এখানে এই টেকনিকটি ব্যবহার করা হয়েছে। একটি ইউজার ইনপুট অ্যারে তৈরি করা হয়েছে যার উপাদানগুলো ০ ও ১ যাদবভাবে র্যান্ডম অর্ডারে। তারপর ০ গুলো বাম পাশে এবং ১ গুলো ডান পাশে পৃথক করা হয়েছে। অ্যারেটি ট্রাভার্স করে দুটি আলাদা লিস্ট তৈরি করা হয়েছে, একটি ০ গুলোর এবং অন্যটি ১ গুলোর, তারপর দুটি লিস্ট কনক্যাটেনেট করা হয়েছে।
উদাহরণ
ইনপুট:: a=[0,1,1,0,0,1] আউটপুট::[0,0,0,1,1,1]
অ্যালগরিদম
seg0s1s(A) /* A হলো ইউজার ইনপুট অ্যারে এবং A-এর উপাদান ০ ও ১-এর কম্বিনেশন হবে */ ধাপ ১: প্রথমে অ্যারেটি ট্রাভার্স করুন। ধাপ ২: তারপর অ্যারের প্রতিটি উপাদান যাচাই করুন। যদি উপাদান ০ হয়, তবে এর পজিশন বাম পাশে এবং যদি ১ হয় তবে ডান পাশে। ধাপ ৩: তারপর দুটি লিস্ট কনক্যাটেনেট করুন।
উদাহরণ কোড
# অ্যারে লিস্টে ০ ও ১ পৃথক করা
def seg0s1s(A):
n = ([i for i in A if i == 0] + [i for i in A if i == 1])
print(n)
# ড্রাইভার প্রোগ্রাম
if __name__ == "__main__":
A = list()
n = int(input("অ্যারের আকার ::"))
print("সংখ্যা দিন ::")
for i in range(int(n)):
k = int(input(""))
A.append(int(k))
print("নতুন অ্যারে লিস্ট ::")
seg0s1s(A)
আউটপুট
অ্যারের আকার ::6 সংখ্যা :: 1 0 0 1 1 0 নতুন অ্যারে লিস্ট :: [0, 0, 0, 1, 1, 1]