آموزش پایتون - معکوس کردن آرایه

معکوس کردن یک آرایه عملیاتی است که در آن عناصر آرایه به ترتیب معکوس چیده می‌شوند. روش‌ها و رویکردهای مختلفی برای معکوس کردن یک آرایه در پایتون وجود دارد، از جمله متدهای ()reverse و ()reversed.

در پایتون، آرایه یکی از انواع داده‌های داخلی نیست. با این حال، کتابخانه استاندارد پایتون دارای ماژول array است که به ما کمک می‌کند یک مجموعه همگن از انواع رشته، عدد صحیح یا عدد اعشاری ایجاد کنیم.

Reverse Array Operation Python

روش‌های معکوس کردن یک آرایه در پایتون

برای معکوس کردن یک آرایه، از رویکردهای زیر استفاده می‌شود −

  • استفاده از عملیات اسلایسینگ (برش‌زدن)
  • استفاده از متد ()reverse
  • استفاده از متد ()reversed
  • استفاده از حلقه for

استفاده از عملیات اسلایسینگ

عملیات اسلایسینگ فرآیند استخراج بخشی از آرایه در محدوده اندیس‌های مشخص‌شده است. در پایتون، اگر از عملیات برش‌زدن به صورت [::-1] استفاده کنیم، یک آرایه جدید را با معکوس کردن آرایه اصلی نمایش می‌دهد.

در این فرآیند، مفسر از انتها شروع کرده و با گام‌های ۱- به سمت عقب حرکت می‌کند تا به ابتدای آرایه برسد. در نتیجه، یک کپی معکوس شده از آرایه اصلی به دست می‌آوریم.

مثال

مثال زیر نحوه استفاده از عملیات اسلایسینگ برای معکوس کردن یک آرایه در پایتون را نشان می‌دهد.

import array as arr

# creating array
numericArray = arr.array('i', [88, 99, 77, 55, 66])

print("Original array:", numericArray)
revArray = numericArray[::-1]
print("Reversed array:",revArray)

هنگامی که کد را اجرا می‌کنید، خروجی زیر را تولید می‌کند −

Original array: array('i', [88, 99, 77, 55, 66])
Reversed array: array('i', [66, 55, 77, 99, 88])

معکوس کردن یک آرایه با استفاده از متد ()reverse

ما همچنین می‌توانیم ترتیب اعداد را در یک آرایه با استفاده از متد ()reverse از کلاس لیست معکوس کنیم. در اینجا، لیست یک نوع داده داخلی در پایتون است.

از آنجایی که ()reverse متدی از کلاس لیست است، نمی‌توانیم مستقیماً از آن برای معکوس کردن آرایه‌ای که از طریق ماژول array پایتون ساخته شده استفاده کنیم. ما باید ابتدا محتویات آرایه را با متد ()tolist از کلاس array به یک لیست منتقل کنیم، سپس متد ()reverse را فراخوانی کرده و در نهایت، وقتی لیست را دوباره به آرایه تبدیل کنیم، آرایه‌ای با ترتیب معکوس به دست می‌آوریم.

مثال

در اینجا استفاده از متد ()reverse در معکوس کردن یک آرایه در پایتون را خواهیم دید.

import array as arr

# creating an array
numericArray = arr.array('i', [10,5,15,4,6,20,9])
print("Array before reversing:", numericArray)

# converting the array into list
newArray = numericArray.tolist()

# reversing the list
newArray.reverse()

# creating a new array from reversed list
revArray = arr.array('i', newArray)
print ("Array after reversing:",revArray)

این کد خروجی زیر را تولید خواهد کرد −

Array before reversing: array('i', [10, 5, 15, 4, 6, 20, 9])
Array after reversing: array('i', [9, 20, 6, 4, 15, 5, 10])

معکوس کردن یک آرایه با استفاده از متد ()reversed

متد ()reversed راه دیگری برای معکوس کردن عناصر یک آرایه است. این متد یک آرایه را به عنوان مقدار پارامتر می‌پذیرد و یک شیء تکرارکننده (iterator) برمی‌گرداند که عناصر آرایه را به ترتیب معکوس نمایش می‌دهد.

مثال

در این مثال، ما از متد ()reversed برای معکوس کردن یک آرایه در پایتون استفاده می‌کنیم.

import array as arr

# creating an array
numericArray = arr.array('i', [12, 10, 14, 16, 20, 18])
print("Array before reversing:", numericArray)

# reversing the array
newArray = list(reversed(numericArray))

# creating a new array from reversed list
revArray = arr.array('i', newArray)
print ("Array after reversing:",revArray)

با اجرای کد بالا، خروجی زیر نمایش داده می‌شود −

Array before reversing: array('i', [12, 10, 14, 16, 20, 18])
Array after reversing: array('i', [18, 20, 16, 14, 10, 12])

استفاده از حلقه for

برای معکوس کردن یک آرایه با استفاده از یک حلقه for، ابتدا عناصر آرایه اصلی را به ترتیب معکوس پیمایش می‌کنیم و سپس هر عنصر را به یک آرایه جدید اضافه (append) می‌کنیم.

مثال

مثال زیر نحوه معکوس کردن یک آرایه در پایتون با استفاده از حلقه for را نشان می‌دهد.

import array as arr
a = arr.array('i', [10,5,15,4,6,20,9])
b = arr.array('i')
for i in range(len(a)-1, -1, -1):
   b.append(a[i])
print(a)
print(b)

این کد خروجی زیر را تولید خواهد کرد −

array('i', [10, 5, 15, 4, 6, 20, 9])
array('i', [9, 20, 6, 4, 15, 5, 10])

پیشرفت مطالعه: وضعیت خوانده‌شدن این درس فقط در همین مرورگر ذخیره می‌شود؛ بدون نیاز به حساب کاربری.