مقدمه
در زبان برنامهنویسی پایتون، تاپل (Tuple) و لیست (List) دو ساختار داده مهم هستند که برای ذخیره و مدیریت دادهها استفاده میشوند. در این مقاله، به بررسی تاپل میپردازیم و سپس آن را با لیست مقایسه میکنیم.
تاپل چیست؟
تاپل یک ساختار داده در پایتون است که مجموعهای از عناصر مرتب و غیرقابل تغییر (immutable) را نگه میدارد. به عبارت دیگر، بعد از ایجاد یک تاپل، نمیتوان عناصر آن را تغییر داد.
کاربرد آن چیست؟
تاپل برای ذخیره دادههایی که باید ثابت مانده و قابل تغییر نباشند مفید است. مثالهایی از استفاده از تاپل شامل ذخیرهسازی اطلاعات مختلف در یک رکورد، ارجاع به مقادیری که نباید تغییر کنند (مانند کلیدهای درگاه ورودی به برنامه) و انتقال دادهها بین توابع میباشد.
نحوه تعریف
یک تاپل با استفاده از پرانتز گرد تعریف میشود. عناصر تاپل با کاما از هم جدا میشوند. مثال:
my_tuple = (1, 2, 3, 'a', 'b', 'c')نحوه افزودن آیتم
تاپل یک ساختار داده غیرقابل تغییر است، بنابراین بعد از تعریف، نمیتوان آیتم جدید به آن اضافه کرد.
نحوه پاک کردن آیتم از آن
به دلیل غیرقابل تغییر بودن تاپل، نمیتوان آیتمها را از آن حذف کرد.
بررسی وجود داشتن یک آیتم در آن
برای بررسی وجود یک عنصر در تاپل از عملگر in استفاده میشود. مثال:
my_tuple = ('a', 'b', 'c')
if 'a' in my_tuple:
print('آیتم "a" در تاپل وجود دارد.')حلقه زدن روی آن
میتوان با استفاده از حلقهها (مانند حلقه for) بر روی تاپلها حرکت کرد و با عناصر آن کار کرد. مثال:
for item in my_tuple:
print(item)تبدیل لیست و تاپل به یکدیگر
شما میتوانید از توابع list() و tuple() در پایتون برای تبدیل بین لیست و تاپل استفاده کنید. به طور مثال:
برای تبدیل یک لیست به تاپل:
my_list = [1, 2, 3, 4, 5]
my_tuple = tuple(my_list)
print(my_tuple)برای تبدیل یک تاپل به لیست:
my_tuple = (1, 2, 3, 4, 5)
my_list = list(my_tuple)
print(my_list)عملگر *
عملگر * برای تکرار تاپل مورد استفاده قرار میگیرد. مثال:
repeated_tuple = my_tuple * 3
سایر عملگرها
تاپلها از عملگرهای مانند + برای ادغام دو تاپل به یکدیگر و [] برای دسترسی به عناصر بر اساس اندیس استفاده میکنند.
متد های کاربردی آن
تاپلها متدهای مفیدی مانند index() برای یافتن اندیس یک عنصر و count() برای شمارش تعداد تکرار یک عنصر دارند.
مقایسه با لیست
با وجود شباهتهای زیادی بین تاپل و لیست، اصلیترین تفاوت بین آنها این است که تاپلها غیرقابل تغییر هستند در حالی که لیستها قابل تغییرند. به عبارت دیگر، تاپلها immutable هستند در حالی که لیستها mutable هستند.
| ویژگی | تاپل | لیست |
| قابلیت تغییر | ندارد (غیرقابل تغییر) | کندتر از تاپل برای عملیات سادهترین مثل دسترسی به عنصر و حلقه زدن |
| عملکرد | سریعتر از لیست برای عملیات سادهترین مثل دسترسی به عنصر و حلقه زدن | کندتر از تاپل برای عملیات سادهترین مثل دسترسی به عنصر و حلقه زدن |
| اندازهگیری حافظه | کمتر از لیست به علت immutable بودن | بیشتر از تاپل به علت mutable بودن |
| کاربردها | معمولاً برای دادههای ثابت | معمولاً برای دادههای متغیر |
| ایمنی داده | ایمنتر برای دادههای ثابت و ارائه دادههای مطمئنتر | ممکن است به دلیل تغییرپذیری دادههای مشکلات ایمنی ایجاد شود و دادههای ممکن است به ناقصی و ناسازگاری برخورد کنند |
| سرعت دسترسی | سریعتر به علت ساختار سادهتر و immutable بودن دادهها | کندتر به علت ساختار پیچیدهتر و mutable بودن دادهها |
تمرین ها
تمرین اول – برنامه ای بنویسید که یک مقدار و یک index از کاربر بگیرد و آن مقدار را در index مورد نظر از تاپل زیر وارد کند.
(11, 22, 33, 44, 55, 66)
تمرین دوم – برنامه ای بنویسید که یک index از کاربر بگیرد و آیتم نظیر آن را از تاپل زیر پاک کند.
(11, 22, 33, 44, 55, 66)
تمرین سوم – برنامه ای بنویسید که یک مقداراز کاربر بگیرد و آن را از تاپل زیر پاک کند.
(11, 22, 33, 44, 55, 66)