কম্পিউটার টিউটোরিয়াল

পাইথনে লিস্ট কম্প্রিহেনশন ব্যবহার করে অ্যারে লিস্টে ০ ও ১ পৃথক করার প্রোগ্রাম

লিস্ট কম্প্রিহেনশন পাইথনে একটি জনপ্রিয় টেকনিক। এখানে এই টেকনিকটি ব্যবহার করা হয়েছে। একটি ইউজার ইনপুট অ্যারে তৈরি করা হয়েছে যার উপাদানগুলো ০ ও ১ যাদবভাবে র‍্যান্ডম অর্ডারে। তারপর ০ গুলো বাম পাশে এবং ১ গুলো ডান পাশে পৃথক করা হয়েছে। অ্যারেটি ট্রাভার্স করে দুটি আলাদা লিস্ট তৈরি করা হয়েছে, একটি ০ গুলোর এবং অন্যটি ১ গুলোর, তারপর দুটি লিস্ট কনক্যাটেনেট করা হয়েছে।

উদাহরণ

ইনপুট:: 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]
  1. পাইথনে লিস্ট ব্যবহার করে Stack এবং Queue বাস্তবায়ন

  2. পাইথনে accumulate ফাংশন ব্যবহার করে প্রিফিক্স সাম অ্যারে

  3. পাইথনে accumulate ফাংশন ব্যবহার করে প্রিফিক্স সাম অ্যারে (Duplicate)

  4. পাইথন লিস্ট এবং অ্যারে (array) এর পার্থক্য কী?