1. آموزش آرایه ها در پایتون (کتابخانه array)
1.1 مقدمه
کتابخانه داخلی array در پایتون برای کار با آرایههای همگن استفاده میشود. این آرایهها تنها میتوانند دادههایی از یک نوع خاص را ذخیره کنند و در مقایسه با لیستها از نظر حافظه و سرعت بهینهتر هستند.
1.2 نحوه تعریف آرایه
برای استفاده از آرایهها، ابتدا باید ماژول array را وارد کنید و سپس با مشخص کردن نوع داده و مقدار اولیه، آرایه را تعریف کنید.
مثال ساده:
from array import array
# تعریف آرایه از نوع عدد صحیح
arr = array('i', [1, 2, 3, 4])
print(arr) # خروجی: array('i', [1, 2, 3, 4])
1.3 کدهای نوع داده (Typecodes)
هر آرایه در پایتون باید یک کد نوع داده داشته باشد که نوع عناصر آن را مشخص میکند. برخی از کدهای متداول:
'i': عدد صحیح (4 بایتی)'f': عدد اعشاری (4 بایتی)'d': عدد اعشاری دو برابر (8 بایتی)'u': کاراکترهای یونیکد
1.4 عملیاتهای پایهای روی آرایهها
افزودن عنصر:
arr.append(5)
print(arr) # خروجی: array('i', [1, 2, 3, 4, 5])
حذف عنصر:
arr.remove(3)
print(arr) # خروجی: array('i', [1, 2, 4, 5])
دسترسی به عناصر با ایندکس:
print(arr[1]) # خروجی: 2
بروزرسانی مقدار:
arr[2] = 10
print(arr) # خروجی: array('i', [1, 2, 10, 5])
مثالهای پیشرفته
آرایه با دادههای اعشاری:
from array import array
arr = array('f', [1.5, 2.5, 3.5])
arr.append(4.5)
print(arr) # خروجی: array('f', [1.5, 2.5, 3.5, 4.5])
عملیات محاسباتی:
arr = array('i', [10, 20, 30, 40])
# مجموع عناصر
print(sum(arr)) # خروجی: 100
# حداقل و حداکثر مقدار
print(min(arr)) # خروجی: 10
print(max(arr)) # خروجی: 40
تبدیل آرایه به لیست:
arr = array('i', [1, 2, 3])
lst = arr.tolist()
print(lst) # خروجی: [1, 2, 3]
جستجوی مقدار:
arr = array('i', [5, 10, 15, 20])
print(arr.index(15)) # خروجی: 2
نکات کاربردی
- آرایهها مناسب ذخیرهسازی دادههای عددی همگن هستند.
- در صورت نیاز به کار با دادههای بزرگ و محاسبات عددی، آرایهها عملکرد بهتری نسبت به لیستها دارند.
2. تفاوت آرایهها و لیستها در پایتون
2.1 مقدمه
آرایهها و لیستها هر دو از ساختارهای دادهای پرکاربرد در پایتون هستند که برای ذخیره مجموعهای از عناصر استفاده میشوند. اما این دو ساختار تفاوتهای کلیدی با یکدیگر دارند که بسته به نیاز، میتوان یکی از آنها را انتخاب کرد.
2.2 تفاوتهای کلیدی
| ویژگی | آرایه | لیست |
|---|---|---|
| نوع داده | همگن (یک نوع داده) | ناهمگن (چند نوع داده) |
| کارایی | سریعتر برای دادههای عددی | کندتر در برخی موارد |
| حافظه | بهینهتر | مصرف حافظه بیشتر |
| قابلیتها | محدود به عملیات پایهای | امکانات بیشتر (مانند افزودن انواع داده مختلف) |
| ماژول مورد نیاز | نیاز به ماژول array |
بدون نیاز به ماژول اضافی |
توضیحات بیشتر
- نوع داده:
- آرایهها تنها میتوانند دادههایی از یک نوع خاص (مانند اعداد صحیح یا اعشاری) را ذخیره کنند. این موضوع با استفاده از کد نوع داده (typecode) در زمان تعریف آرایه مشخص میشود.
- لیستها میتوانند انواع مختلف دادهها (مانند اعداد، رشتهها و اشیا) را در کنار هم ذخیره کنند.
- کارایی:
- آرایهها برای عملیاتهای محاسباتی یا عددی سریعتر هستند، زیرا فضای حافظه بهینهتری مصرف میکنند و برای دادههای عددی طراحی شدهاند.
- لیستها انعطافپذیری بیشتری دارند، اما در مقایسه با آرایهها ممکن است در پردازش دادههای عددی کمی کندتر عمل کنند.
- حافظه:
- آرایهها به دلیل ذخیرهسازی بهینهتر، حافظه کمتری نسبت به لیستها مصرف میکنند.
- لیستها به دلیل پشتیبانی از دادههای ناهمگن، فضای بیشتری را اشغال میکنند.
- ماژول مورد نیاز:
- برای استفاده از آرایهها، باید از ماژول داخلی
arrayاستفاده کنید. - لیستها به صورت پیشفرض در پایتون موجود هستند و نیازی به وارد کردن ماژول اضافی ندارند.
- برای استفاده از آرایهها، باید از ماژول داخلی
مثال مقایسهای
آرایه
from array import array
# تعریف آرایه از نوع عدد صحیح
arr = array('i', [1, 2, 3, 4, 5])
arr.append(6)
print(arr) # خروجی: array('i', [1, 2, 3, 4, 5, 6])
# حذف عنصر
arr.remove(3)
print(arr) # خروجی: array('i', [1, 2, 4, 5, 6])
# دسترسی به عناصر با ایندکس
print(arr[2]) # خروجی: 4
لیست
# تعریف لیست
lst = [1, 2, 3, 4, 5]
lst.append(6)
print(lst) # خروجی: [1, 2, 3, 4, 5, 6]
# حذف عنصر
lst.remove(3)
print(lst) # خروجی: [1, 2, 4, 5, 6]
# دسترسی به عناصر با ایندکس
print(lst[2]) # خروجی: 4
مثالهای بیشتر
مقایسه ذخیرهسازی رشته در لیست و آرایه
آرایه
from array import array
# تعریف آرایه از نوع کاراکتر
arr = array('u', ['a', 'b', 'c', 'd'])
arr.append('e')
print(arr) # خروجی: array('u', 'abcde')
لیست
# تعریف لیست از رشتهها
lst = ['a', 'b', 'c', 'd']
lst.append('e')
print(lst) # خروجی: ['a', 'b', 'c', 'd', 'e']
کار با دادههای اعشاری
آرایه
from array import array
# تعریف آرایه از نوع اعشاری
arr = array('f', [1.1, 2.2, 3.3])
arr.append(4.4)
print(arr) # خروجی: array('f', [1.1, 2.2, 3.3, 4.4])
لیست
# تعریف لیست از دادههای اعشاری
lst = [1.1, 2.2, 3.3]
lst.append(4.4)
print(lst) # خروجی: [1.1, 2.2, 3.3, 4.4]
چه زمانی از آرایه یا لیست استفاده کنیم؟
- آرایه: اگر نیاز به ذخیره دادههای عددی همگن با کارایی بالا و مصرف حافظه کمتر دارید، آرایه انتخاب مناسبی است.
- لیست: اگر به انعطافپذیری بیشتری نیاز دارید و میخواهید دادههای مختلفی را در کنار هم ذخیره کنید، از لیست استفاده کنید.
