ویژگی تصویر

نحوه Unpack کردن Tuple ها در پایتون

  /  پایتون   /  دسترسی مستقیم به عناصر تاپل در پایتون
بنر تبلیغاتی الف

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

در اصطلاح Unpack Tuples به جای استفاده از اعضای تاپل به صورت مستقیم، می‌توان از دستوراتی چون بازگشت چندمقداره (multiple return) و تفکیک یکتا (Unpacking) برای باز کردن یک تاپل استفاده کرد.

فهرست مطالب:

تعریف تاپل

در مثال زیر، یک تاپل به نام person تعریف شده است که شامل سه مقدار است:

person = ("John", 25, "USA")

در حالت عادی، اگر بخواهید به مقادیر داخل تاپل دسترسی پیدا کنید، می‌توانید از اندیس‌ها (indexes) استفاده کنید:

print(person[0])  # Output: John
print(person[1])  # Output: 25
print(person[2])  # Output: USA

اما روشی خواناتر و بهینه‌تر برای دسترسی به مقادیر تاپل وجود دارد: Unpacking.

Unpacking چیست؟

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

برای مثال، در کد زیر از Unpacking برای جدا کردن اعضای تاپل person و انتساب آن‌ها به متغیرهای جداگانه استفاده شده است:

name, age, country = person

print(name)    # Output: John
print(age)     # Output: 25
print(country) # Output: USA

در اینجا، متغیرهای name، age و country به ترتیب به مقادیر اول، دوم و سوم تاپل person نسبت داده می‌شوند. این روش بسیار تمیزتر و سریع‌تر از استفاده از اندیس‌هاست.

مثال‌های بیشتر از Unpacking در پایتون

در اینجا چندین مثال برای درک بهتر این مطلب برای شما قرار داده ایم، بهتر است سورس کد های مربوط به هر مثال را خودتان نیز اجرا کنید و آنها را بررسی کنید.

مثال 1: Unpacking یک تاپل دو مقداری

در این مثال، یک تاپل به نام coordinates داریم که شامل دو مقدار است:

تماشا در حالت تمام صفحه

در این مثال، یک تاپل با نام coordinates که شامل دو مقدار است تعریف شده، سپس از Unpacking برای جدا کردن این دو مقدار و اخذ آن‌ها در دو متغیر جداگانه x و y استفاده شده است. سپس با استفاده از دستور print، مقادیر دو متغیر x و y نمایش داده شده است.

مثال 2: Unpacking با تاپل چهار مقداری

در این مثال، تاپل person شامل چهار مقدار است که نمایانگر اطلاعات بیشتری از یک فرد است:

تماشا در حالت تمام صفحه

در این مثال، تاپل person شامل چهار مقدار تعریف شده است. سپس با استفاده از Unpacking، هر یک از این مقادیر به متغیر مربوط به آن نسبت داده شده است. سپس با استفاده از دستور print، مقادیر مربوط به هر یک از متغیرها نمایش داده شده است.

نکات پیشرفته در استفاده از Unpacking

1. Unpacking با تعداد متفاوت عناصر

اگر تعداد متغیرها کمتر یا بیشتر از تعداد عناصر تاپل باشد، خطای ValueError رخ می‌دهد. برای مدیریت تعداد نامتوازن عناصر، می‌توان از یک تکنیک به نام * استفاده کرد که به آن Extended Unpacking می‌گویند.

مثال زیر نشان می‌دهد که چگونه می‌توان با استفاده از * بقیه مقادیر را در یک لیست قرار داد:

تماشا در حالت تمام صفحه

در این مثال، متغیر rest تمامی مقادیر باقی‌مانده تاپل را در یک لیست قرار می‌دهد.

2. استفاده از Unpacking در توابع

یکی دیگر از کاربردهای جالب Unpacking، استفاده از آن برای ارسال آرگومان‌ها به توابع است. به عنوان مثال:

تماشا در حالت تمام صفحه

در اینجا، از Unpacking برای ارسال هر یک از اعضای تاپل person به‌عنوان آرگومان‌های تابع print_info استفاده شده است.

3. Unpacking برای بازگشت چندین مقدار از توابع

در پایتون، می‌توان از Unpacking برای مدیریت مقادیر بازگشتی چندگانه از توابع نیز استفاده کرد. به عنوان مثال:

تماشا در حالت تمام صفحه

در این مثال، تابع get_coordinates یک تاپل با دو مقدار بازمی‌گرداند و این مقادیر با استفاده از Unpacking به متغیرهای x و y نسبت داده می‌شوند.

تکنیک Unpacking در پایتون یکی از ابزارهای قدرتمند و کارآمد برای دسترسی سریع و ساده به مقادیر درون تاپل‌ها است. این تکنیک با بهبود خوانایی کد و کاهش پیچیدگی آن، به برنامه‌نویسان این امکان را می‌دهد که با سهولت بیشتری با داده‌های گروه‌بندی شده کار کنند. Unpacking علاوه بر تاپل‌ها، در بسیاری از ساختارهای دیگر مانند لیست‌ها و دیکشنری‌ها نیز کاربرد دارد.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
بنر تبلیغاتی ج