تاپل ها در پایتون توالی از عناصر غیر قابل تغییر (Immutable) هستند. در لیست ها می توانستیم توسط اندیس به عنصر آن اندیس دسترسی داشته باشیم و آنرا تغییر دهیم ولی در تاپل ها نمی توان عنصری از لیست را تغییر داد. عناصر درون تاپل میان پرانتزهای باز و بسته () قرار می گیرند.

ایجاد تاپل

در قطعه کد ۱ دو تاپل خالی ایجاد شده اند. در روش دوم از تابع ()tuple برای ایجاد تاپل خالی استفاده شده است. اندازه هر دو متغیر برابر صفر است.

تاپل ها در پایتون توالی از عناصر غیر قابل تغییر (Immutable) هستند. در لیست ها می توانستیم توسط اندیس به عنصر آن اندیس دسترسی داشته باشیم و آنرا تغییر دهیم ولی در تاپل ها نمی توان عنصری از لیست را تغییر داد. عناصر درون تاپل میان پرانتزهای باز و بسته () قرار می گیرند.

ایجاد تاپل

در قطعه کد ۱ دو تاپل خالی ایجاد شده اند. در روش دوم از تابع ()tuple برای ایجاد تاپل خالی استفاده شده است. اندازه هر دو متغیر برابر صفر است.

مقدار دهی اولیه تاپل ها

 مقادیر درون تاپل می توانند هر یک از انواع داده باشند که میان پرانتزهای باز و بسته قرار می گیرند. به طور کلی یک تاپل می توانند شامل انواع داده مانند موارد زیر باشد :

  • اعداد صحیح
  • اعداد ممیز شناور
  • رشته
  • لیست
  • دیکشنری
  • تاپل

در قطعه کد ۱ دو تاپل sample_tuple1 و sample_tuple2 مقدار دهی شده اند. sample_tuple1 فقط دارای مقدار عدد صحصح و sample_tuple2 از انواع مختف تشکیل شده است.

در قطعه کد ۲ روش دیگری برای ایجاد و مقدار دهی کردن تاپل های sample_tuple1 و sample_tuple2 استفاده شده است. به جای اینکه مقادیر را میان پرانتزهای باز و بسته قرار دهیم، آنها را فقط با علامت ویرگول از هم جدا کرده ایم.

تاپلی ها می توانند شامل تاپل های دیگر باشند که به این حالت تاپل تو در تو (Nested Tupel) گفته می شود. در این حالت اولین تاپل درونی دارای اندیس صفر و دومین تاپل درونی دارای اندیس یک و تاپل درونی آخر دارای اندیس n – 1 است که n اندازه تاپل است. توسط تابع ()len می توان اندازه یک تاپل را بدست آورد.

مثال ۱ – در قطعه کد ۳ nested_tuple به صورت تاپل تو در تو است. بررسی کنید که این تاپل از چند تاپل درونی تشکیل شده است.

برای این کار باید از تابع ()isinstance استفاده شود. ابتدا یک متغیر به نام count تعریف می کنیم که تعداد تاپل های درونی را نگه می دارد و سپس توسط حلقه کنترل for و حلقه شرطی if بررسی می کنیم که هر عنصر از تاپل آیا تاپل است یا نه؟. اگر تاپل باشد به count یک واحد اضافه می شود. حلقه for نیز به اندازه طول تاپل تکرار خواهد شد.

مثال ۲ – در تاپل nested_tuple در مثال ۱ نوع هر عنصر تاپل های درونی را بررسی کنید و اگر از نوع int بود آنرا به لیست integer_list اضافه کنید.

تابع ()count

از تابع ()count برای بدست آوردن تعداد هر عنصر درون یک تاپل استفاده می شود. اگر عنصر مورد نظر درون تاپل وجود نداشت، عدد صفر برگشت داده می شود. قطعه کد ۵ مثالی از تابع ()count را نشان می دهد.

مثال ۳ – بررسی کنید که آیا amir در میان نام های درون تاپل names وجود دارد یا نه؟ اگر وجود نداشت پیغام منانسب نشان داده شود و در صورت وجود تعداد تکرار نشان داده شود.

 مثال ۴ – در مثال ۱ بررسی کنید که آیا تاپل (‘Hamid’, ‘Yekshanbeh’, 12) در nested_tuple وجود دارد یا نه؟

تابع ()index

از تابع ()index برای جستچوی یک عنصر درون تاپل استفاده می شود. در صورت وجود عنصر درون تاپل برگشت داده می شود و در غیر ابن صورت خطا نشان داده می شود. اگر از عنصر چندین مرتبه وجود داشته باشد اولین و کوچکترین اندیس برای عنصر برگشت داده می شود.

مثال ۵ – در قطعه کد ۵ محل قرار گیری حرف e را در تاپل vowels پیدا کنید. اندیس ها در تاپل ها از عدد صفر شروع می شوند، بنابراین اندیس اولین حرف e در تاپل عدد ۳ است. دو مرتبه حرف e در تاپل وجود دارد، بنابراین اولین و کوچکترین اندیس محل حرف e یعنی عدد ۳ نشان داده می شود.

اگر محل عنصری را بخواهیم پیدا کنیم که درون تاپل وجود ندارد، خطای زیر نشان داده می شود.

مثال ۶ – اندیس تمامی e ها را در تاپل vowels نشان دهید.