آرایه در پایتون «Array» یک ساختار داده است که برای ذخیرهسازی مجموعهای از دادهها با نوع مشابه بهکار میرود. برخلاف لیستها که میتوانند انواع مختلف دادهها را در خود نگه دارند، آرایهها معمولاً برای ذخیرهسازی دادههای همنوع (مانند اعداد صحیح یا اعداد اعشاری) استفاده میشوند. این نوع داده بیشتر در کتابخانههایی مانند array در پایتون مورد استفاده قرار میگیرد که عملکرد بهتری نسبت به لیستها در پردازش دادههای عددی ارائه میدهد. آرایهها در پایتون بهویژه برای پردازشهای ریاضی و علمی که نیاز به ذخیره و مدیریت مقادیر عددی با حجم بالا دارند، بسیار مناسب هستند.
در این مقاله به جزئیات آرایه در پایتون Arrays in Python میپردازیم. آرایه در پایتون مجموعهای از عناصر است که در مکانهای پیوسته حافظه ذخیره میشوند. هدف این است که چندین عنصر از یک نوع را با هم ذخیره کنیم. برخلاف لیستهای پایتون، در آرایه بایستی همه عناصر از یک نوع باشند. داشتن عناصر همگن باعث میشود آرایهها از نظر حافظه کارآمد باشند.
مثال: آرایه در پایتون به طور خاص برای ذخیره دادههای همگن طراحی شدهاست و میتوانند برای عملیات ریاضی یا دسترسی به دادهها استفاده شوند.
import array as arr # creating array of integers a = arr.array('i', [1, 2, 3]) # accessing Araay print("First Element is", a[0]) # Adding element to array a.append(5) print(a)
تصویر زیر نمایشی از یک آرایه در پایتون است که شامل ۱۰ عنصر میباشد و هر عنصر با استفاده از اندیسهای (شاخصهای) ۰ تا ۹ قابل دسترسی است.
ایجاد یک آرایه در پایتون
آرایه در پایتون میتواند با وارد کردن ماژول array ایجاد شود. از دستور array(data_type, value_list) برای ایجاد آرایه در پایتون استفاده میشود که در آن نوع داده و لیست مقادیر به عنوان آرگومان تعیین میشوند.
به عنوان مثال، یک آرایه با مقادیر صحیح (Integer) و یک آرایه دیگر با مقادیر اعشاری «Double» ایجاد میشود و محتوای هر کدام در کنسول چاپ میگردد.
import array as arr a = arr.array('i', [1, 2, 3]) print("The new created array is : ", end=" ") for i in range(0, 3): print(a[i], end=" ") print() b = arr.array('d', [2.5, 3.2, 3.3]) print("\nThe new created array is : ", end=" ") for i in range(0, 3): print(b[i], end=" ")
خروجی:
The new created array is : 1 2 3 The new created array is : 2.5 3.2 3.3
در جدول زیر برخی از انواع دادهای آورده شده است که هنگام ایجاد آرایههایی با انواع داده مختلف در پایتون مفید هستند:
افزودن عناصر به یک آرایه در پایتون
عناصر میتوانند به آرایه در پایتون با استفاده از تابع داخلی ()insert اضافه شوند. ()insert برای وارد کردن یک یا چند عنصر داده به آرایه استفاده میشود. بسته به نیاز، میتوان یک عنصر جدید را در ابتدای آرایه، انتهای آن یا در هر ایندکس دلخواهی از آرایه اضافه کرد. همچنین از ()append برای افزودن مقدار ذکر شده در آرگومانهای خود به انتهای آرایه در پایتون استفاده میشود.
import array as arr # Integer array example a = arr.array('i', [1, 2, 3]) print("Integer Array before insertion:", *a) a.insert(1, 4) # Insert 4 at index 1 print("Integer Array after insertion:", *a) # Floating-point array example b = arr.array('d', [2.5, 3.2, 3.3]) print("Float Array before appending:", *b) b.append(4.4) # Append 4.4 to the array print("Float Array after appending:", *b)
خروجی:
Integer Array before insertion: 1 2 3 Integer Array after insertion: 1 4 2 3 Float Array before appending: 2.5 3.2 3.3 Float Array after appending: 2.5 3.2 3.3 4.4
توجه: ما از a* و b* برای باز کردن عناصر آرایه استفاده کردهایم.
دسترسی به عناصر آرایه در پایتون
برای دسترسی به عناصر آرایه در پایتون، باید به شماره ایندکس اشاره کنید. از اپراتور ایندکس [ ] برای دسترسی به یک عنصر در یک آرایه در پایتون استفاده میشود. ایندکس باید یک عدد صحیح باشد.
در تکه کد زیر ابتدا نشان داده شده که چگونه یک آرایه در پایتون را وارد کرده و از ایندکس برای دسترسی به عناصر در آرایهها استفاده میکنیم. عبارت a[0] به اولین عنصر آرایه a که ۱ است، دسترسی پیدا میکند. عبارت a[3] به چهارمین عنصر آرایه a که ۴ است، دسترسی پیدا میکند. به طور مشابه، عبارت b[1] به دومین عنصر آرایه b که ۳/۲ است، و عبارت b[2] به سومین عنصر آرایه b که ۳/۳ است، دسترسی پیدا میکند.
import array as arr a = arr.array('i', [1, 2, 3, 4, 5, 6]) print("Access element is: ", a[0]) print("Access element is: ", a[3]) b = arr.array('d', [2.5, 3.2, 3.3]) print("Access element is: ", b[1]) print("Access element is: ", b[2])
خروجی:
Access element is: 1 Access element is: 4 Access element is: 3.2 Access element is: 3.3
حذف عناصر آرایه در پایتون
عناصر میتوانند از آرایه در پایتون با استفاده از تابع داخلی ()remove حذف شوند، اما اگر عنصر مورد نظر در مجموعه وجود نداشته باشد، خطا رخ میدهد. متد ()remove تنها یک عنصر را در یک زمان حذف میکند، برای حذف مجموعهای از عناصر از یک آرایه، از تکرارگر استفاده میشود. تابع ()pop نیز میتواند برای حذف و بازگشت یک عنصر از آرایه استفاده شود، اما به طور پیشفرض تنها آخرین عنصر آرایه را حذف میکند. برای حذف یک عنصر از موقعیت خاصی در آرایه، ایندکس عنصر به عنوان آرگومان به متد ()pop منتقل میشود.
توجه: متد remove در لیست تنها اولین وقوع عنصر جستجو شده را حذف میکند.
در تکه کد زیر نشان داده شده که چگونه آرایه را در پایتون وارد کرده، بسازیم، چاپ کنیم، عناصر را از آن حذف کرده و به عناصر آن دسترسی پیدا کنیم. کد زیر ماژول آرایه را وارد میکند که برای کار با آرایهها استفاده میشود. آرایهای از اعداد صحیح میسازد و سپس آرایهها را چاپ کرده یا آرایه اصلی را چاپ میکند. سپس یک عنصر از آرایه حذف میشود و آرایه اصلاح شده چاپ میشود. در نهایت، تمام موارد تکراری یک عنصر خاص از آرایه حذف میشود و آرایه بهروز شده چاپ میشود.
import array arr = array.array('i', [1, 2, 3, 1, 5]) print("The new created array is : ", end="") for i in range(0, 5): print(arr[i], end=" ") print("\r") print("The popped element is : ", end="") print(arr.pop(2)) print("The array after popping is : ", end="") for i in range(0, 4): print(arr[i], end=" ") print("\r") arr.remove(1) print("The array after removing is : ", end="") for i in range(0, 3): print(arr[i], end=" ")
خروجی:
The new created array is : 1 2 3 1 5 The popped element is : 3 The array after popping is : 1 2 1 5 The array after removing is : 2 1 5
برش عناصر آرایه در پایتون
روشهای مختلفی برای چاپ کل آرایه با تمام عناصر وجود دارد، اما برای چاپ یک بازه خاص از عناصر آرایه، از عملیات برش (Slice) استفاده میشود. عملیات برش با استفاده از علامت کولن (:) در آرایه انجام میشود.
- برای چاپ عناصر از ابتدا تا یک بازه خاص، از [:Index] استفاده میشود.
- برای چاپ عناصر از انتها از [:-Index] استفاده میشود.
- برای چاپ عناصر از یک ایندکس خاص تا انتها از [Index:] استفاده میشود.
- برای چاپ عناصر در یک بازه خاص از [Start Index:End Index] استفاده میشود.
- برای چاپ کل لیست با استفاده از عملیات برش، از [:] استفاده میشود.
- برای چاپ کل آرایه به صورت معکوس، از [::۱-] استفاده میشود.
به عنوان مثال، تکه کد زیر از عملیات برش (Slicing) برای استخراج عناصر یا زیرآرایهها از یک آرایه استفاده میکند. با یک آرایه اولیه از اعداد صحیح شروع میشود و آرایهای را از لیست ایجاد میکند. آرایه را برش میدهد تا عناصر را از ایندکس ۳ تا ۸، از ایندکس ۵ تا انتها، و کل آرایه استخراج کند. آرایههای برشخورده سپس چاپ میشوند تا عملیات برش را نشان دهند.
import array as arr l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] a = arr.array('i', l) print("Initial Array: ") for i in (a): print(i, end=" ") Sliced_array = a[3:8] print("\nSlicing elements in a range 3-8: ") print(Sliced_array) Sliced_array = a[5:] print("\nElements sliced from 5th " "element till the end: ") print(Sliced_array) Sliced_array = a[:] print("\nPrinting all elements using slice operation: ") print(Sliced_array)
خروجی:
Initial Array: ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ Slicing elements in a range 3-8: array('i', [4, 5, 6, 7, 8]) Elements sliced from 5th element till the end: array('i', [6, 7, 8, 9, 10]) Printing all elements using slice operation: array('i', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
جستجوی عنصر آرایه در پایتون
برای جستجوی یک عنصر در آرایه، از متد داخلی ()index در پایتون استفاده میکنیم. این تابع ایندکس اولین وقوع مقدار مشخصشده در آرگومانها را برمیگرداند.
مثال:
تکه کد زیر نشان میدهد چگونه یک آرایه در پایتون ایجاد کنیم، عناصر آن را چاپ کنیم و ایندکس عناصر مشخصی را پیدا کنیم. در این کد، ما ماژول آرایه را وارد کرده، یک آرایه از اعداد صحیح ایجاد کرده، با استفاده از حلقه for آن را چاپ میکنیم و سپس از متد ()index برای یافتن ایندکس اولین وقوع اعداد ۲ و ۱ استفاده میکنیم.
import array arr = array.array('i', [1, 2, 3, 1, 2, 5]) print("The new created array is : ", end="") for i in range(0, 6): print(arr[i], end=" ") print("\r") print("The index of 1st occurrence of 2 is : ", end="") print(arr.index(2)) print("The index of 1st occurrence of 1 is : ", end="") print(arr.index(1))
خروجی:
The new created array is : 1 2 3 1 2 5 The index of 1st occurrence of 2 is : 1 The index of 1st occurrence of 1 is : 0
بهروزرسانی عناصر آرایه در پایتون
برای بهروزرسانی یک عنصر در آرایه، کافی است مقدار جدیدی به ایندکس موردنظر که میخواهیم بهروزرسانی کنیم، اختصاص دهیم.
مثال:
تکه کد زیر عملکرد تغییر عناصر درون یک آرایه را با استفاده از ایندکس نشان میدهد. ابتدا ماژول آرایه وارد میشود، یک آرایه از اعداد صحیح ایجاد و چاپ میشود. سپس، دو عنصر آرایه در ایندکسهای مشخص تغییر داده شده و آرایه بهروزشده چاپ میشود. این مثال نشان میدهد که چگونه ایندکسها امکان تغییر پویا محتوای آرایه را فراهم میکنند.
import array arr = array.array('i', [1, 2, 3, 1, 2, 5]) print("Array before updation : ", end="") for i in range(0, 6): print(arr[i], end=" ") print("\r") arr[2] = 6 print("Array after updation : ", end="") for i in range(0, 6): print(arr[i], end=" ") print() arr[4] = 8 print("Array after updation : ", end="") for i in range(0, 6): print(arr[i], end=" ")
خروجی:
Array before updation : 1 2 3 1 2 5 Array after updation : 1 2 6 1 2 5 Array after updation : 1 2 6 1 8 5
عملیات مختلف آرایه در پایتون
آرایهها در پایتون برای ذخیره و مدیریت دادهها استفاده میشوند و امکان انجام عملیات متنوع روی دادهها را فراهم میکنند.
شمارش عناصر آرایه در پایتون
برای شمارش تعداد وقوع یک عنصر خاص در آرایه، میتوان از متد ()count استفاده کرد.
مثال:
تکه کد زیر نشان میدهد که چگونه میتوان فراوانی یک عنصر خاص در یک آرایه را تعیین کرد. ابتدا ماژول آرایه وارد میشود و یک آرایه از اعداد صحیح ایجاد میگردد. سپس تعداد وقوع عدد ۲ با استفاده از متد ()count محاسبه شده و نتیجه چاپ میشود. این قطعه کد توانایی تحلیل توزیع عناصر در آرایهها را به خوبی نشان میدهد.
import array my_array = array.array('i', [1, 2, 3, 4, 2, 5, 2]) count = my_array.count(2) print("Number of occurrences of 2:", count)
خروجی:
Number of occurrences of 2: 3
معکوس کردن عناصر آرایه در پایتون
برای معکوس کردن ترتیب عناصر در یک آرایه، میتوان به سادگی از متد ()reverse استفاده کرد.
مثال:
تکه کد زیر عملکرد معکوس کردن ترتیب عناصر در یک آرایه را با استفاده از متد ()reverse نشان میدهد. ابتدا ماژول آرایه وارد میشود، یک آرایه از اعداد صحیح ایجاد شده و آرایه اصلی چاپ میشود. سپس ترتیب عناصر با استفاده از متد ()reverse معکوس شده و آرایه معکوس شده چاپ میگردد. این کد توانایی تغییر ترتیب عناصر در یک آرایه را به خوبی نشان میدهد.
import array my_array = array.array('i', [1, 2, 3, 4, 5]) print("Original array:", *my_array) my_array.reverse() print("Reversed array:", *my_array)
خروجی:
Original array: 1 2 3 4 5 Reversed array: 5 4 3 2 1
افزودن عناصر آرایه در پایتون با متد Extend
در پایتون، آرایه برای ذخیره چندین مقدار یا عناصر از یک نوع دادهای در یک متغیر استفاده میشود. تابع ()extend به سادگی برای اضافه کردن مقادیر از یک iterable به انتهای آرایه به کار میرود. به عبارت سادهتر، این متد برای اضافه کردن یک مجموعه از مقادیر به انتهای یک آرایه موجود استفاده میشود.
list.extend(iterable)
در مثال بالا، تمامی عناصر مجموعه (iterable) به انتهای آرایه list1 اضافه میشوند.
مثال:
تکه کد ارائه شده، توانایی گسترش یک آرایه برای اضافه کردن عناصر جدید را نشان میدهد. این کد با وارد کردن ماژول آرایه «array» آغاز میشود، یک آرایه از اعداد صحیح ایجاد میکند و آرایه را قبل از گسترش چاپ میکند. سپس، از متد ()extend برای گسترش آرایه استفاده شده و در نهایت آرایه گسترشیافته چاپ میشود. این مثال به طور خلاصه توانایی اضافه کردن عناصر به یک ساختار آرایه موجود را نشان میدهد.
import array as arr a = arr.array('i', [1, 2, 3,4,5]) print("The before array extend : ", end =" ") for i in range (0, 5): print (a[i], end =" ") print() a.extend([6,7,8,9,10]) print("\nThe array after extend :",end=" ") for i in range(0,10): print(a[i],end=" ") print()
خروجی:
The before array extend : 1 2 3 4 5 The array after extend : 1 2 3 4 5 6 7 8 9 10
مثال:
تکه کد زیر توانایی گسترش Extend آرایهها با انواع دادههای مختلف، از جمله اعداد صحیح و اعشاری، را نشان میدهد. این کد از ماژول آرایه استفاده میکند، آرایههایی با هر دو نوع داده ایجاد میکند و با استفاده از متد ()extend آنها را گسترش میدهد. آرایهها قبل و بعد از گسترش چاپ میشوند تا تغییرات را نشان دهند. این مثال بهطور مؤثر قابلیت افزودن عناصر به آرایههایی با نمایشهای دادهای متفاوت را نشان میدهد.
import array as arr a=arr.array('i',[1,2,3,4,5,6]) print("The Before extend array is :",end=" ") for i in range(0,6): print(a[i],end=" ") print() a.extend([7,8,9,10,11,12]) print("\nThe After extend array is :",end=" ") for i in range(0,12): print(a[i],end=" ") print() b = arr.array('d', [2.1,2.2,2.3,2.4,2.5,2.6]) print("\nThe before extend array is :",end=" ") for i in range(0,6): print(b[i],end=" ") print() b.extend([2.6,2.7,2.8,2.9]) print("\nThe after extend array is :",end=" ") for i in range(0,9+1): print(b[i],end=" ") print()
خروجی:
The Before extend array is : 1 2 3 4 5 6 The After extend array is : 1 2 3 4 5 6 7 8 9 10 11 12 The before extend array is : 2.1 2.2 2.3 2.4 2.5 2.6 The after extend array is : 2.1 2.2 2.3 2.4 2.5 2.6 2.6 2.7 2.8 2.9
نتیجه گیری
آرایه در پایتون یک ساختار داده است که برای ذخیره مجموعهای از آیتمها به کار میرود. برخلاف لیستها که میتوانند انواع مختلف دادهها را ذخیره کنند، آرایهها تنها از یک نوع داده واحد پشتیبانی میکنند. این ویژگی باعث میشود که آرایهها در پردازشهای عددی و محاسباتی بهویژه در حجم دادههای بزرگ، کارآمدتر باشند. برای استفاده از آرایهها در پایتون، میبایست از ماژول مخصوص array استفاده کرد که نوعی آرایه به نام array را فراهم میکند.
آرایهها دارای ویژگیهای خاصی هستند؛ مثلاً اندازهی ثابت ندارند و به راحتی میتوانند تغییر کنند، اما نسبت به لیستها از نظر حافظه و سرعت بهینهتر عمل میکنند. از دیگر ویژگیهای مهم آرایهها میتوان به دسترسی سریع به عناصر با استفاده از ایندکس، تغییر و حذف دادهها، و پشتیبانی از عملیات مختلف مانند جستجو و الحاق اشاره کرد.
در مجموع، آرایهها در پایتون ابزار قدرتمندی برای کار با دادههای مشابه هستند که از نظر کارایی و صرفهجویی در حافظه در مقایسه با لیستها برتری دارند. این ویژگیها باعث میشود آرایهها گزینهای مناسب برای کاربردهای خاصی مانند پردازشهای عددی و علمی باشند.