تاپل در پایتون چیست؟
یکی دیگر از ساختارهای داده در پایتون، Tuple یا تاپل است.
تاپل شباهت زیادی به لیست دارد، اما یک تفاوت مهم بین آنها وجود دارد: عناصر Tuple پس از ایجاد قابل تغییر نیستند.
ساخت Tuple در پایتون
برای ساخت یک Tuple معمولاً از پرانتز
( )
استفاده میکنیم.
fruits = ("سیب", "موز", "پرتقال")
print(fruits)
در این مثال سه مقدار داخل Tuple قرار گرفته است.
ساخت Tuple بدون پرانتز
در پایتون حتی میتوان Tuple را بدون پرانتز نیز ایجاد کرد. این ویژگی به Tuple Packing مربوط میشود.
fruits = "سیب", "موز", "پرتقال"
print(fruits)
پایتون این مقادیر را به صورت یک Tuple در نظر میگیرد.
ساخت Tuple تکعنصری
اگر Tuple فقط یک عنصر داشته باشد، باید بعد از آن یک ویرگول قرار دهیم.
item = ("Python",)
print(type(item))
خروجی:
<class 'tuple'>
وجود ویرگول در این حالت بسیار مهم است.
دسترسی به عناصر Tuple با Index
مانند لیست، Index در Tuple نیز از صفر شروع میشود.
fruits = ("سیب", "موز", "پرتقال")
print(fruits[0])
print(fruits[1])
print(fruits[2])
خروجی:
سیب
موز
پرتقال
Index منفی در Tuple
میتوانیم برای دسترسی به عناصر از Index منفی نیز استفاده کنیم.
fruits = ("سیب", "موز", "پرتقال")
print(fruits[-1])
print(fruits[-2])
خروجی:
پرتقال
موز
آیا Tuple قابل تغییر است؟
خیر. Tuple ها در پایتون Immutable هستند. یعنی بعد از ایجاد Tuple نمیتوان مقدار عناصر آن را تغییر داد.
fruits = ("سیب", "موز", "پرتقال")
fruits[1] = "هلو"
این کد با خطا مواجه میشود، زیرا عناصر Tuple قابل تغییر نیستند.
تفاوت List و Tuple
| ویژگی | List | Tuple |
|---|---|---|
| نوع ساختار | [ ] |
( ) |
| قابل تغییر | بله | خیر |
| Index | دارد | دارد |
| Slicing | دارد | دارد |
| حلقه for | قابل استفاده | قابل استفاده |
تعداد عناصر Tuple با len()
مانند لیست، میتوانیم با استفاده از
len()
تعداد عناصر Tuple را به دست آوریم.
numbers = (10, 20, 30, 40)
print(len(numbers))
خروجی:
4
بررسی وجود مقدار با in
با استفاده از
in
میتوان بررسی کرد که آیا یک مقدار در Tuple وجود دارد یا خیر.
fruits = ("سیب", "موز", "پرتقال")
if "موز" in fruits:
print("موز در Tuple وجود دارد")
پیمایش Tuple با حلقه for
میتوانیم عناصر Tuple را با حلقه
for
یکییکی دریافت کنیم.
fruits = ("سیب", "موز", "پرتقال")
for fruit in fruits:
print(fruit)
Slicing در Tuple
با استفاده از Slicing میتوان بخشی از یک Tuple را دریافت کرد.
numbers = (10, 20, 30, 40, 50)
print(numbers[1:4])
خروجی:
(20, 30, 40)
همانند لیست، عنصر مربوط به Index انتهایی در Slicing قرار نمیگیرد.
شمارش مقدار با count()
متد
count()
تعداد تکرار یک مقدار در Tuple را مشخص میکند.
numbers = (10, 20, 10, 30, 10)
print(numbers.count(10))
خروجی:
3
پیدا کردن Index با index()
متد
index()
Index اولین موردی را که با مقدار موردنظر برابر است،
برمیگرداند.
fruits = ("سیب", "موز", "پرتقال")
print(fruits.index("موز"))
خروجی:
1
مثال کاربردی: اطلاعات یک کاربر
زمانی که مجموعهای از اطلاعات نباید به صورت مستقیم تغییر کند، میتوانیم از Tuple استفاده کنیم.
user = ("Ali", 25, "Tehran")
print(user[0])
print(user[1])
print(user[2])
در این مثال نام، سن و شهر کاربر در یک Tuple قرار گرفتهاند.
Tuple Unpacking
میتوانیم عناصر یک Tuple را مستقیماً داخل چند متغیر قرار دهیم. به این کار Unpacking گفته میشود.
user = ("Ali", 25, "Tehran")
name, age, city = user
print(name)
print(age)
print(city)
در این مثال هر عنصر Tuple داخل متغیر مربوط به خودش قرار گرفته است.
خلاصه مهمترین موارد Tuple
| دستور یا ویژگی | کاربرد |
|---|---|
( ) |
ساخت Tuple |
len() |
تعداد عناصر |
in |
بررسی وجود یک مقدار |
count() |
شمارش تعداد تکرار یک مقدار |
index() |
پیدا کردن Index یک مقدار |
for |
پیمایش عناصر Tuple |
| Slicing | دریافت بخشی از Tuple |
| Unpacking | قرار دادن عناصر Tuple در متغیرها |
سوالات متداول درباره Tuple در پایتون
Tuple در پایتون چیست؟
Tuple یک ساختار داده برای نگهداری چند مقدار است که عناصر آن پس از ایجاد قابل تغییر نیستند.
تفاوت اصلی Tuple و List چیست؟
مهمترین تفاوت این است که List قابل تغییر است، اما Tuple قابل تغییر نیست.
آیا Tuple دارای Index است؟
بله.
Index اولین عنصر Tuple برابر
0
است.
آیا میتوان Tuple را با for پیمایش کرد؟
بله.
Tuple مانند لیست قابل پیمایش با حلقه
for
است.
Tuple تکعنصری چگونه ساخته میشود؟
برای ساخت Tuple تکعنصری باید بعد از مقدار یک ویرگول قرار دهیم:
item = ("Python",)
ادامه آموزش پایتون
برای مشاهده سایر آموزشهای پایتون به صفحه آموزش اصلی مراجعه کنید.