Python Tuples

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

🔹 1️⃣ ایجاد Tuple

# Tuple با چند عنصر my_tuple = (1, 2, 3, "Python", True) print(my_tuple) # Tuple تک‌عنصری (نکته مهم: نیاز به کاما) single = (5,) print(single) # (5,)

بدون کاما، single = (5) فقط عدد ۵ محسوب می‌شود، نه Tuple.

🔹 2️⃣ دسترسی به عناصر

مثل لیست با اندیس قابل دسترسی است:

fruits = ("apple", "banana", "cherry") print(fruits[0]) # apple print(fruits[-1]) # cherry

🔹 3️⃣ برش (Slicing)

می‌توانید زیربخش از Tuple بگیرید:

numbers = (10, 20, 30, 40, 50) print(numbers[1:4]) # (20, 30, 40) print(numbers[:3]) # (10, 20, 30)

🔹 4️⃣ تغییر و افزودن عناصر

  • Tuple غیرقابل تغییر است.

  • اگر بخواهید تغییر دهید، باید آن را به لیست تبدیل کنید:

t = (1, 2, 3) temp = list(t) temp[1] = 99 t = tuple(temp) print(t) # (1, 99, 3)

🔹 5️⃣ توابع و متدهای مفید

تابع/متدتوضیحمثال
len()طول Tuplelen(t)
count(x)تعداد وقوع مقدارt.count(2)
index(x)اندیس اولین وقوعt.index(3)

Tuple متدهای لیست مثل append و remove ندارد، چون غیرقابل تغییر است.

🔹 6️⃣ Tuple تو در تو (Nested Tuple)

می‌توانید Tuple داخل Tuple داشته باشید:

nested = ((1, 2), (3, 4)) print(nested[1][0]) # 3

🔹 7️⃣ Tuple Unpacking

می‌توانید مقادیر Tuple را مستقیماً به متغیرها اختصاص دهید:

point = (10, 20) x, y = point print(x, y) # 10 20
  • می‌توان از *rest برای جمع کردن باقی‌مانده استفاده کرد:

numbers = (1, 2, 3, 4) first, *rest = numbers print(first) # 1 print(rest) # [2, 3, 4]

🔹 8️⃣ ترکیب و تکرار Tuple

t1 = (1, 2) t2 = (3, 4) combined = t1 + t2 print(combined) # (1, 2, 3, 4) repeated = t1 * 3 print(repeated) # (1, 2, 1, 2, 1, 2)

✅ نکات مهم

  • Immutable: نمی‌توان تغییر داد، حذف یا اضافه کرد.

  • Tuple سریع‌تر و امن‌تر از لیست است.

  • Tuple می‌تواند به عنوان کلید دیکشنری استفاده شود، اما لیست نمی‌تواند.

  • اغلب برای داده‌های ثابت یا توابعی که چند مقدار بازمی‌گردانند استفاده می‌شود.

💡 خلاصه:

  • ایجاد: (1, 2, 3) و (5,) برای تک عنصر

  • دسترسی و برش: مشابه لیست

  • غیرقابل تغییر → برای تغییر، تبدیل به لیست لازم است

  • متدهای محدود: len(), count(), index()

  • قابلیت unpacking و ترکیب با + و *

این‌ها تمام مفاهیم پایه‌ای Tuple در پایتون هستند.