Tuple

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

tuple1 = ('physics', 'chemistry', 1997, 2000)
tuple2 = (1, 2, 3, 4, 5 )
tuple3 = "a", "b", "c", "d"

یک Tuple تُهی به صورت دو پرانتز بدون قرار گرفتن مقداری بین آنها تعریف می‌شود.

tuple1 = ();

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

tuple1 = (50,);

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

tuple1 = ('physics', 'chemistry', 1997, 2000)
tuple2 = (1, 2, 3, 4, 5, 6, 7 )

print(tuple1[0])
print(tuple2[1:5]) 
physics
(2, 3, 4, 5)

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

tuple1 = (12, 34.56)
tuple2 = ('abc', 'xyz')

tuple3 = tuple1 + tuple2
print(tuple3)
(12, 34.56, 'abc', 'xyz')

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

tuple1 = ('physics', 'chemistry', 1997, 2000)
print(tuple1)

del tuple1

print("After deleting tuple1 : ")
print(tuple1)

این کد خروجی زیر را تولید خواهد کرد. توجه کنید به علت حدف Tuple tuple1 با دستور del tuple1 ، در انتها یک استثناء رخ داده است.

('physics', 'chemistry', 1997, 2000)
After deleting tup : 
Traceback (most recent call last):
  File "file.py", line 7, in 
    print(tuple1)
NameError: name 'tuple1' is not defined

پایتون شامل توابع زیر برای Tupleها است:

تابع شرح
cmp(tuple1, tuple2) اعضای دو Tuple را مقایسه می‌کند.
len(tuple) تعداد اعضای Tuple را مشخص می‌کند.
max(tuple) از میان عناصر Tuple، عنصر با بیشترین مقدار را بر می‌گرداند.
min(tuple) کمترین مقدار درون Tuple را بر می‌گرداند.
tuple(seq) Tuple جدیدی از روی یک دنباله ایجاد می‌کند.