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

পাইথনে অ্যারের একটি পজিশন পর্যন্ত রিভার্স করার প্রোগ্রাম

এই টিউটোরিয়ালে একটি অ্যারে (লিস্ট) কে দেওয়া পজিশন `n` পর্যন্ত রিভার্স করার পদ্ধতি দেখানো হলো।

সমস্যা: একটি ইন্টিজার অ্যারে এবং একটি সংখ্যা `n` দেওয়া আছে। ০ إندেক্স থেকে `(n-1)` إندেক্স পর্যন্ত এলিমেন্টগুলো রিভার্স করতে হবে।

Input array = [1, 2, 3, 4, 5, 6, 7, 8, 9]
n = 5
Output = [5, 4, 3, 2, 1, 6, 7, 8, 9]

পদ্ধতি ১: লুপ ও স্ব্যাপ (Swap)

  • অ্যারে এবং `n` ইনিশিয়ালাইজ করুন।
  • `n // 2` পর্যন্ত লুপ চালান।
  • `i`-th এবং `(n-i-1)`-th এলিমেন্ট স্ব্যাপ করুন।
  • ফাইনাল অ্যারে প্রিন্ট করুন।
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
n = 5
if n > len(arr):
    print(f"{n} value is not valid")
else:
    for i in range(n // 2):
        arr[i], arr[n - i - 1] = arr[n - i - 1], arr[i]
    print(arr)

আউটপুট

[5, 4, 3, 2, 1, 6, 7, 8, 9]

পদ্ধতি ২: স্লাইসিং (Pythonic Way)

  • `arr[n-1::-1]` – প্রথম `n` এলিমেন্ট রিভার্স।
  • `arr[n:]` – বাকি এলিমেন্ট অপরিবর্তিত।
  • দুটো কনক্যাটেনেট করুন।
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
n = 5
if n > len(arr):
    print(f"{n} value is not valid")
else:
    arr = arr[n-1::-1] + arr[n:]
    print(arr)

আউটপুট

[5, 4, 3, 2, 1, 6, 7, 8, 9]

দুই পদ্ধতিই একই ফলাফল দেয়। স্লাইসিং পদ্ধতি আরও সংক্ষিপ্ত এবং পাইথনিক।

  1. অ্যারে রিভার্স করার C প্রোগ্রাম

  2. অ্যারে-এ ইনভারশন কাউন্ট করার পাইথন প্রোগ্রাম

  3. অ্যারে রোটেশনের পাইথন প্রোগ্রাম

  4. পাইথনে দেওয়া পজিশন থেকে 'k' বিট এক্সট্রাক্ট করার প্রোগ্রাম