tuple یک ساختار داده در پایتون است که برای نگهداری مجموعهای از عناصر مرتب و تغییرناپذیر (Immutable) استفاده میشود. مشابه با لیستها ساخته میشود اما تفاوت اصلی آن در این است که پس از ایجاد، نمیتوان عناصر آن را تغییر داد، اضافه کرد یا حذف نمود. یک tuple میتواند با استفاده از پرانتزهای () یا تابع tuple() ایجاد شود.
num_tuple = (4,5,6,7,8)
user_tuple = tuple(["ali", "bigdeli", 33])
print(3 in num_tuple)
print("allan" not in user_tuple )
خروجی:
>>>
True
False
>>>
نکته: برای ایجاد یک tuple تکعضوی، باید بعد از عنصر یک کاما , بگذارید (مثلاً (1,))، در غیر این صورت پایتون آن را به عنوان یک عدد یا رشته معمولی در نظر میگیرد. tupleها برخلاف لیستها، قابل تغییر نیستند (Mutable نیستند)؛ بنابراین متدهایی مانند append یا remove روی آنها کار نمیکنند. اما اگر عناصر داخل tuple از نوع قابل تغییر (مانند لیست) باشند، محتوای آن عناصر قابل تغییر است، خودِ ساختار tuple خیر.
nums = (1, 2, 3, 4, 5)
# nums[0] = 10 # این خطا میدهد: TypeError
print(nums[0])
print(nums[1:3])
خروجی:
>>>
1
(2, 3)
>>>
برای دسترسی به عناصر tuple از اندیسها استفاده میشود (مانند لیست). همچنین میتوان از اسلایس (:) برای استخراج بخشی از tuple استفاده کرد. چون tupleها تغییرناپذیر هستند، سرعت پردازش آنها کمی بیشتر از لیستها است و فضای کمتری از حافظه اشغال میکنند.
ویژگیهای خاص tuple
tupleها از ویژگیهای زیر پشتیبانی میکنند:
- مرتبسازی (Ordered): ترتیب عناصر حفظ میشود و با اندیس قابل دسترسی است.
- تغییرناپذیری (Immutable): پس از تعریف، نمیتوان عناصر را تغییر داد.
- اجازه تکرار: برخلاف set، در tuple عناصر تکراری مجاز هستند.
- انواع داده مختلف: میتوان عناصری از انواع داده مختلف (عدد، رشته، لیست و...) را در یک tuple ذخیره کرد.
mixed = (1, "hello", 3.14, True)
print(len(mixed))
print(mixed.count(1))
print(mixed.index(3.14))
خروجی:
>>>
4
1
2
>>>
متدهای پرکاربرد tuple
count(elem): شمارش تعداد تکرار یک عنصر در tupleindex(elem): بازگرداندن اندیس اولین وقوع یک عنصر (در صورت نبودن خطا میدهد)len(): بازگرداندن طول tuple (تعداد عناصر)- توجه: متدهای تغییردهنده مانند
append،extendیاremoveروی tuple وجود ندارند.
جمعبندی
tupleها برای مواقعی مناسب هستند که میخواهیم دادههایی را که نباید تغییر کنند، ذخیره کنیم (مانند مختصات جغرافیایی، رنگهای RGB، یا رکوردهای پایگاه داده). آنها ایمنی بیشتری نسبت به لیستها دارند، حافظه کمتری مصرف میکنند و در حلقههای تکرار (Iteration) کمی سریعتر عمل میکنند. همچنین tupleها قابلیت unpacking (تفکیک) دارند که امکان انتساب همزمان چند متغیر را فراهم میکند.
امیرحسین عظیمی
17 , تیر , 1405 - 16:41 بعد از ظهرنکته جالبی بود پس سعی مون باید این باشه توی پروژه ها بیشتر کانست ها رو تاپل در نظر بگیریم که فضا کمتر استفاده بشه