এই টিউটোরিয়ালে একটি অ্যারে (লিস্ট) কে দেওয়া পজিশন `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]
দুই পদ্ধতিই একই ফলাফল দেয়। স্লাইসিং পদ্ধতি আরও সংক্ষিপ্ত এবং পাইথনিক।