آموزش Tuple در پایتون

شقایق ستیه نیا
1402/12/16
146
آموزش Tuple در پایتون

در دنیای پایتون، میتوان داده‌ها را با انعطاف بسیار زیادی مدیریت کرد. از لیست‌ها و دیکشنری‌ها تا مجموعه‌ها، هر کدام ویژگی‌ها و کاربردهای خودشان را دارند. اما آیا تا به حال به Tuple در پایتون فکر کرده‌اید؟ یک ساختار داده‌ای که مقداری شبیه لیست است اما با یک ویژگی متمایز از آنها که در ادامه آن را بیشتر برسی میکنیم.

با یک Tuple، به جای مجموعه‌ای از داده‌های قابل تغییر، با یک مجموعه از داده‌های ثابت و غیرقابل تغییر روبرو می‌شوید. در این مقاله، ما به بررسی عمیق Tuple در پایتون خواهیم پرداخت و به شما نشان خواهیم داد که چگونه از این ساختار داده‌ای ساده و موثر برای ذخیره‌سازی داده‌ها و انجام عملیات‌های مختلف استفاده کنید.

ما از مباحث ابتدایی شروع می‌کنیم، مانند تفاوت Tuple با لیست و چرا استفاده از Tuple می‌تواند مفید باشد. سپس به ایجاد Tuple، دسترسی به عناصر آن، و خصوصیت تغییرناپذیری آن می‌پردازیم. همچنین مفاهیمی مانند ترکیب Tuple ها، پیمایش آن‌ها، تبدیل لیست ها به تاپل و یک مثال حرفه استفاده از Tuple را بررسی خواهیم کرد.

با خواندن این مقاله، شما قادر خواهید بود تا از Tuple به عنوان یک ابزار قدرتمند برای مدیریت داده‌ها در پایتون استفاده کنید. با ما همراه باشید تا در این سفر جذاب و آموزنده در دنیای Tuple ها، قدم برداریم.

Tuple در پایتون

Tuple چیست؟

Tuple در زبان برنامه‌نویسی پایتون، یک ساختار داده‌ای است که مجموعه‌ای از عناصر را در خود نگهداری می‌کند. اما با این تفاوت که عناصر Tuple غیرقابل تغییر هستند، به عبارت دیگر پس از ایجاد یک Tuple، نمی‌توانید عناصر آن را تغییر دهید یا اضافه یا حذف کنید.

Tuple‌ها به طور گسترده در پایتون استفاده می‌شوند، به ویژه در مواردی که نیاز به نگهداری داده‌های ثابت و غیرقابل تغییر داریم، مانند تعریف یک مجموعه‌ی از ثابتها یا پارامترهای یک تابع که نباید تغییر کنند. همچنین، Tuple‌ها معمولاً در مواقعی که ترتیب داده‌ها اهمیت دارد مورد استفاده قرار می‌گیرند، زیرا ترتیب عناصر در Tuple حفظ می‌شود.

به عنوان خلاصه، Tuple‌ها یک ساختار داده‌ای مفید در پایتون هستند که مجموعه‌ای از داده‌های ثابت و غیرقابل تغییر را نگه می‌دارند و می‌توانند در مواقع مختلف از جمله نگهداری داده‌های مرتب، پارامترهای تابع، و موارد دیگر مورد استفاده قرار گیرند.

Tuple در پایتون

تفاوت Tuple و list در چیست؟

تفاوت اصلی بین Tuple و List در پایتون این است که Tuple یک ساختار داده‌ای تغییرناپذیر است، در حالی که List یک ساختار داده‌ای قابل تغییر است.

به عبارت ساده، وقتی شما یک Tuple را ایجاد می‌کنید، نمی‌توانید عناصر آن را بعداً تغییر دهید یا به آن عنصر جدیدی اضافه کنید. اما در List، شما می‌توانید عناصر را تغییر دهید، عناصر جدید اضافه کنید و یا عناصر را حذف کنید.

این تفاوت در رفتار Tuple و List می‌تواند در انتخاب مناسب‌ترین ساختار داده برای کارهای خاصی که می‌خواهید انجام دهید تأثیرگذار باشد. به طور کلی، اگر داده‌هایتان را می‌خواهید در طول زمان تغییر دهید، انتخاب List منطقی‌تر است. اما اگر می‌خواهید داده‌هایی را نگهداری کنید که بعداً نباید تغییر کنند، Tuple بهترین گزینه است.

نحوه ساخت Tuple در پایتون

ساخت یک Tuple در پایتون بسیار ساده است. برای ایجاد یک Tuple، شما از پرانتز () استفاده می‌کنید و عناصر مختلف را با استفاده از ویرگول (,) از یکدیگر جدا می‌کنید. به طور کلی، الگویی که برای ساخت یک Tuple در پایتون استفاده می‌شود به صورت زیر است:

my_tuple = (element1, element2, element3, ...)

در اینجا، my_tuple نام متغیری است که ما از طریق آن به Tuple دسترسی خواهیم داشت و element1، element2، element3  و غیره، عناصر مختلفی هستند که می‌خواهید درون Tuple قرار دهید.

به عنوان مثال، فرض کنید که می‌خواهید یک Tuple از اعداد اول تا چندمین عدد اول ایجاد کنید، می‌توانید این کار را به این صورت انجام دهید:

prime_numbers =  (2, 3, 5, 7, 11, 13)

در این مثال، prime_numbers یک Tuple است که شامل اعداد اول از ۲ تا ۱۳ است.

انواع مختلف Tupleها

در پایتون، می‌توانید انواع مختلفی از Tuple‌ها را ایجاد کنید، از جمله Tuple‌های خالی، Tuple‌های با چند مقدار مختلف و Tuple‌هایی که شامل مقادیر با انواع داده‌ای متفاوت هستند.

Tuple‌های خالی:

این‌ها Tuple‌هایی هستند که هیچ عنصری درون خود ندارند. برای ساخت یک Tuple خالی، شما از یک زوج پرانتز () بدون عناصر استفاده می‌کنید.

   empty_tuple =  ()

Tuple‌های با چند مقدار:

این‌ها Tuple‌هایی هستند که شامل چندین عنصر هستند. شما می‌توانید عناصر مختلفی را با استفاده از ویرگول (,) درون پرانتز () تعریف کنید.

   my_tuple  = (1, 2, 3, 4, 5)

Tuple‌های با مقادیر با انواع داده‌ای متفاوت:

در پایتون، Tuple می‌تواند شامل مقادیر با انواع داده‌ای مختلف باشد. به عنوان مثال، شما می‌توانید اعداد، رشته‌ها، بولیان‌ها و حتی Tuple‌های دیگر را درون یک Tuple قرار دهید.

   mixed_tuple = (1, "hello", True, (2, 3, 4))

در این مثال، mixed_tuple یک Tuple است که شامل یک عدد صحیح، یک رشته، یک مقدار boolean و یک Tuple دیگر است.

با استفاده از این انواع مختلف Tuple، می‌توانید ساختار داده‌ای مناسب برای نیازهای خود را ایجاد کنید و از ویژگی‌های تغییرناپذیری Tuple در پایتون بهره ببرید.

نحوه دسترسی و نمایش Tupleها

در پایتون، شما می‌توانید به عناصر یک Tuple دسترسی پیدا کنید و آن‌ها را نمایش دهید با استفاده از روش های مختلف که در ادامه به آنها میپردازیم:

  • دسترسی به عناصر Tuple:

برای دسترسی به یک عنصر خاص در Tuple، شما از ایندکس آن عنصر استفاده می‌کنید. ایندکس‌ها در پایتون از صفر شروع می‌شوند. بنابراین، اولین عنصر با ایندکس ۰، دومین عنصر با ایندکس ۱ و الی آخر خواهد بود.

my_tuple = (1,2,3,4,5)
print(my_tuple[0])  # Output: 1
print(my_tuple[2])  # Output: 3
  • نمایش تمامی عناصر Tuple:

برای نمایش تمامی عناصر یک Tuple، شما می‌توانید از یک حلقه for استفاده کنید یا تمامی عناصر را به صورت رشته تبدیل و نمایش دهید.

my_tuple = (1,2,3,4,5)
for item in my_tuple:
    print(item)  # Output: 1 2 3 4 5

به صورت یک رشته:

print(str(my_tuple))  # Output 1 2 3 4 5

از این روش‌ها برای دسترسی به عناصر و نمایش محتوای یک Tuple در پایتون می‌توانید استفاده کنید.

توابع داخلی Tupleها در پایتون

در پایتون، Tuple‌ها برخی توابع داخلی مفید را دارند که می‌توانید از آن‌ها برای انجام عملیات‌های مختلف بر روی Tuple‌ها استفاده کنید. در جدول زیر، توابع داخلی مهمی که بر روی Tuple‌ها قابل اجرا هستند را بررسی می‌کنیم:

توضیحات نام تابع
این تابع برای دریافت تعداد عناصر موجود در یک Tuple استفاده می‌شود. len(tuple)
بزرگترین عنصر Tuple را برمی‌گرداند. max(tuple)
کوچکترین عنصر Tuple را برمی‌گرداند. min(tuple)
این تابع برای شمارش تعداد تکرار یک عنصر خاص در یک Tuple استفاده می‌شود. count(element)
این تابع برای دریافت اندیس یک عنصر خاص در یک Tuple استفاده می‌شود. اگر عنصر مورد نظر وجود نداشته باشد، یک خطای ValueError بوجود می‌آید. index(element)

این توابع داخلی Tuple‌ها کمک می‌کنند تا به طرز مؤثری عملیات‌های مختلف روی Tuple‌ها را با سرعت بیشتری انجام دهید.

نحوه محاسبه طول یک Tuple

برای محاسبه طول یک Tuple در پایتون، از تابع داخلی len استفاده می‌کنیم. این تابع تعداد عناصر موجود در یک Tuple را برمی‌گرداند.

به عنوان مثال:

my_tuple =  (1, 2, 3, 4, 5)
length = len(my_tuple)
print(length)  # Output: 5

در این مثال، my_tuple یک Tuple است که شامل ۵ عنصر است. با فراخوانی len(my_tuple)، طول این Tuple که برابر با ۵ است، محاسبه و نمایش داده می‌شود.

جست و جوی یک مقدار در تاپل ها

برای جستجوی یک مقدار در یک Tuple می‌توانید از دستور in استفاده کنید. این عملیات برای بررسی وجود یک مقدار در یک Tuple (یا هر ساختار داده‌ای دیگر) استفاده می‌شود و مقدار True یا False را برمی‌گرداند.

در زیر یک مثال از جستجوی یک مقدار در یک Tuple با استفاده از in آورده شده است:

my_tuple = (1, 2, 3, 4, 5)
value_to_search = 3
if value_to_search in my_tuple:
    print(f"The value {value_to_search} is found in the tuple.")
else:
    print(f"The value {value_to_search} is not found in the tuple.")

در این مثال، ابتدا یک Tuple به نام my_tuple ایجاد شده است. سپس ما مقداری به نام value_to_search تعریف کرده‌ایم که می‌خواهیم در Tuple جستجو کنیم. با استفاده از عملیات in ما می‌توانیم بررسی کنیم که آیا value_to_search در my_tuple وجود دارد یا خیر و بر اساس این بررسی پیام مناسبی چاپ کنیم.

Slicing در تاپل ها

عملیات slicing یکی از ابزارهای مهم برای مدیریت داده‌ها در پایتون است که بر روی Tuple نیز قابل اجراست. این عملیات به شما امکان می‌دهد تا یک زیرمجموعه از عناصر یک Tuple را انتخاب کنید. الگوی کلی برای slicing در پایتون به شکل زیر است:

my_tuple[start:end:step]

در این الگو:

  • start

نشان‌دهنده اندیس عنصری است که slicing از آن شروع می‌شود. ایندکس `start` از جمله عنصر شروع است و در slicing شامل می‌شود.

  • End

نشان‌دهنده اندیس عنصری است که slicing تا آنجا ادامه می‌یابد. ایندکس `end` در slicing شامل نمی‌شود. در صورت حذف `end` از slicing، slicing از `start` تا انتهای Tuple ادامه می‌یابد.

  • Step

نشان‌دهنده مقدار گام است که از عناصر انتخاب شده است. مقدار پیش‌فرض برای `step` یک است.

در ادامه یک مثال از slicing در یک Tuple را باهم برسی میکنیم:

my_tuple = (1,2,3,4,5)
subset = my_tuple[1:4]

انتخاب زیرمجموعه از عناصر با اندیس 1 تا 3 (با اندیس 4 خاتمه نمی‌یابد)#

print(subset)

خروجی:

2 3 4

در این مثال، از my_tuple، یک زیرمجموعه از عناصر با slicing انتخاب شده است که شامل عناصر با اندیس ۱ تا ۳ است (با اندیس ۴ خاتمه نمی‌یابد) و به عنوان subset ذخیره شده و نمایش داده می‌شود.

نحوه اتصال دو Tuple در پایتون

شما می‌توانید دو Tuple را به هم اتصال دهید و یک Tuple جدید با استفاده از عملیات جمع +  ایجاد کنید. این عملیات به شما امکان می‌دهد دو Tuple را به یکدیگر اضافه کنید و یک Tuple جدید را ایجاد کنید که شامل همه عناصر اولیه است.

در زیر یک مثال از اتصال دو Tuple آورده شده است:

tuple1 = (1,2,3)
tuple2 = (4,5,3)
concatenated_tuple = tuple1 + tuple2
print(concatenated_tuple)

خروجی:

1 2 3 4 5 6

در این مثال، دو Tuple به نام tuple1 و tuple2 ایجاد شده‌اند. با استفاده از عملیات جمع +، این دو Tuple به یکدیگر اضافه شده و یک Tuple جدید به نام concatenated_tuple ایجاد می‌شود که شامل همه عناصر اولیه است.

Immutability در Tupleها یعنی چه؟

Immutability به معنای عدم قابل تغییر بودن است. در مورد Tuple‌ها، immutability یعنی اینکه یک بار که یک Tuple ساخته شد، نمی‌توانید عناصر آن را تغییر دهید یا عناصر جدید به آن اضافه کنید. به عبارت دیگر، Tuple‌ها بعد از ایجاد، ثابت و غیرقابل تغییر هستند.

این ویژگی از Tuple‌ها به این معناست که یک بار که یک Tuple ایجاد شد، عناصر آن در جای خود قفل می‌شوند و دیگر نمی‌توانید آن‌ها را تغییر دهید. این ویژگی از Tuple‌ها اهمیت زیادی در مواقعی دارد که نیاز به نگهداری داده‌های ثابت و معین داریم، مانند تعریف ثوابت یا داده‌هایی که پس از ایجاد، باید ثابت بمانند.

اما برخلاف immutability در Tuple‌ها، در لیست‌ها (List‌ها) که یک ساختار داده‌ای دیگر در پایتون است، می‌توان عناصر را تغییر داد یا عناصر جدید به آن اضافه کرد. این تفاوت اساسی بین Tuple‌ها و لیست‌هاست که اهمیت زیادی در انتخاب ساختار داده‌ای مناسب برای هر کاربرد خاص دارد.

تبدیل یک لیست به Tuple در پایتون

در پایتون، شما می‌توانید یک لیست را به یک Tuple تبدیل کنید با استفاده از تابع داخلی tuple که یک iterable (مانند یک لیست) را به یک Tuple تبدیل می‌کند. این عملیات به شما امکان می‌دهد تا یک لیست را به یک Tuple تبدیل کنید و Tuple جدیدی با عناصر مشابه لیست ایجاد کنید.

در زیر یک مثال از تبدیل یک لیست به یک Tuple آورده شده است:

my_list  = [1 , 2 , 3 , 4 , 5]
my_tuple = tuple(my_list)
print(my_tuple)

خروجی:

(1, 2, 3, 4, 5)

در این مثال، یک لیست به نام my_list  ایجاد شده‌است. با استفاده از تابع tuple،مثالهای عملی استفاده از Tuple در پایتون

یک مثال حرفه‌ای از استفاده از Tuple در پایتون می‌تواند در مواقعی باشد که نیاز به انتقال داده‌های ثابت و تغییر ناپذیر بین اجزای مختلف برنامه دارید، مثلاً در موردی که ما با هم برسی میکنیم:

فرض کنید که شما یک برنامه دارید که دارای یک تابع است که مختصات یک نقطه در فضای سه بعدی را دریافت می‌کند و این مختصات را به عنوان ورودی به تابع می‌دهید. یک راه حل بهینه برای این موقعیت استفاده از Tuple به جای استفاده از لیست است، زیرا مختصات نقاط در اینجا داده‌های ثابت و معین هستند و بعد از تعیین، قابل تغییر نیستند.

def calculate_distance(point):
    # از مختصات نقطه برای محاسبه فاصله استفاده می‌کنیم
    x, y, z = point
    distance = (x ** 2 + y ** 2 + z ** 2) ** 0.5
    return distance
# مختصات نقطه به صورت یک Tuple تعریف شده است
point_coordinates = (3, 4, 5)
# فراخوانی تابع با استفاده از مختصات نقطه به عنوان ورودی
distance = calculate_distance(point_coordinates)
print("فاصله نقطه از مبدا:", distance)

در این مثال، مختصات نقطه به صورت یک Tuple به نام point_coordinates تعریف شده است. سپس این Tuple به عنوان ورودی به تابع calculate_distance ارسال می‌شود که مختصات نقطه را محاسبه می‌کند و فاصله نقطه را از مبدا برمی‌گرداند. استفاده از Tuple در اینجا به عنوان یک ساختار داده‌ای مناسب و بهینه برای ارسال مختصات نقطه و اطمینان از ایمنی و ثبات داده‌ها در طول عملیات استفاده می‌شود.

چگونه در پایتون حرفه‌ای‌تر شویم؟

در نهایت Tuple در پایتون، به عنوان یکی از ساختارهای داده‌ای پرکاربرد و اساسی مورد استفاده قرار می‌گیرد. تاپل به شما این امکان را می‌دهد که داده‌های خود را به صورت یک مجموعه ثابت و مرتب نگه دارید، اما با ویژگی‌های جذابی که آن را از لیست‌ها متمایز می‌کند. استفاده از تاپل‌ها می‌تواند در جایگاه‌های مختلفی از جمله انتقال داده‌های ثابت بین توابع، نگهداری اطلاعات ثابت مانند مختصات نقاط و یا تعریف ثوابت در کد مفید باشد. با استفاده از این ساختار داده‌ای، می‌توانید داده‌های خود را به شکلی سازمان‌یافته، قابل اطمینان و ثابت نگه دارید و از ویژگی‌های تغییرناپذیری آن برای ایجاد کدهایی پایدار و ایمن بهره‌مند شوید.

با خواندن مقالات مختلف احتمالا بتوانید تا حدی به بخش‌های مختلف پایتون مسلط شوید اما قطعا بی‌برنامه بودن و اصولی نبودن مسیر یادگیری باعث می‌شود شما نسبت به زبان برنامه نویسی پایتون دلسرد شوید یا اینکه آن را بصورت کامل یاد نگیرید؛ اما نگران این موضوع نباشید، تیم سبزلرن برای شما آموزش صفر تا صد پایتون را بصورت کاملا رایگان قرار داده تا بتوانید به‌صورت اصولی و حرفه‌ای در زبان پایتون متخصص شوید. اما این همه ماجرا نیست!! این دوره علاوه بر رایگان بودن آن، دارای پشتیبانی انلاین نیز هست و هرکجا به هر مشکلی برخوردید، افراد متخصص در این زبان آماده پاسخگویی به اشکالات و سوالات شما هستند، چی بهتر از این؟ پس فرصت را غنیمت بشمرید و همین الان در این دوره شرکت کنید و بصورت تخصصی یادگیری خودتان را شروع کنید.

نظرات
ثبت نظر جدید

نظری برای این مقاله ثبت نشده است

آموزش پایتون