مفهوم تاپل ، کاربرد ها و تفاوت آن با لیست
تاپل (Tuple) یکی از انواع دادهها در پایتون است که بسیار شبیه به لیستها است، اما ویژگیهای خاصی دارد.
بیایید به طور دقیقتری به مفهوم تاپل، کاربردها و تفاوتهای آن با لیست بپردازیم.
۱. مفهوم تاپل
تاپل یک ساختار دادهی
مطمئن و
غیرقابل تغییر (Immutable) است که به شما اجازه میدهد مجموعهای از عناصر را در یک متغیر ذخیره کنید. به عبارت دیگر، پس از ایجاد یک تاپل، نمیتوانید عناصر آن را تغییر دهید.
ایجاد یک تاپل
تاپلها با استفاده از پرانتزها (یا بدون پرانتز در برخی موارد) و جداکنندهها ویرگول ایجاد میشوند:
my_tuple = (1, 2, 3)
another_tuple = 1, 2, 3 # بدون پرانتز هم معتبر است
۲. کاربردها
-
استفاده به عنوان کلید در دیکشنری: از آنجا که تاپلها غیرقابل تغییر هستند، میتوانند به عنوان کلید در دیکشنریها استفاده شوند.
-
گروهبندی دادهها: تاپلها میتوانند برای گروهبندی دادهها (مثلاً کوردینات یک نقطه یا دادههای مختلط) استفاده شوند.
-
عملیات انباشتی: تاپلها معمولاً برای بازگشت چندین مقدار از یک تابع به کار میروند.
۳. تفاوتهای میان تاپل و لیست
تغییرپذیری:
- لیستها (List) تغییرپذیر (Mutable) هستند، به این معنی که میتوانیم عناصر آنها را بعد از ایجاد تغییر دهیم.
- تاپلها (Tuple) غیرقابل تغییر (Immutable) هستند، یعنی پس از ایجاد یک تاپل نمیتوانیم عناصر آن را تغییر دهیم.
نحوهی ایجاد:
- لیستها با استفاده از براکتها ([]) ایجاد میشوند.
- تاپلها با استفاده از پرانتزها (()) یا بدون پرانتز (در برخی موارد) ایجاد میشوند.
عملکردها:
- لیستها دارای متدهای بیشتری برای تغییر هستند؛ مانند اضافه کردن، حذف کردن و مرتبسازی.
- تاپلها متدهای محدودتری دارند و عمدتاً شامل
count()
و
index()
هستند.
استفاده در دیکشنری:
- لیستها نمیتوانند به عنوان کلید در دیکشنریها استفاده شوند.
- تاپلها میتوانند به عنوان کلید در دیکشنریها استفاده شوند، زیرا غیرقابل تغییر هستند.
سرعت:
- لیستها معمولاً سرعت کمتری دارند و کندتر از تاپلها هستند.
- تاپلها معمولاً سریعتر از لیستها هستند زیرا غیرقابل تغییر هستند و فضای حافظه کمتری اشغال میکنند.
فضای حافظه:
- لیستها معمولاً فضای بیشتری را در حافظه اشغال میکنند.
- تاپلها معمولاً فضای کمتری را اشغال میکنند.
۴. مثالهای کاربردی
مثال ۱: استفاده به عنوان کلید در دیکشنری
my_dict = { (1, 2): "point A", (3, 4): "point B" }
print(my_dict[(1, 2)]) # خروجی: point A
مثال ۲: بازگشت چندین مقدار از یک تابع
def coordinates():
return (10, 20)
x, y = coordinates()
print(x, y) # خروجی: 10 20
@python_with_mohammad