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

تاپل یا tuple در پایتون

تاپل (Tuple) یا چندتایی در پایتون به این صورت تعریف می شود:

mytuple = ("apple", "banana", "cherry")

تاپل ها برای ذخیره چندین آیتم در یک متغیر استفاده می شوند.

Tuple یکی از 4 نوع داده داخلی در پایتون است که برای ذخیره و کار با مجموعه داده ها استفاده می شود، 3 نوع دیگر List ، Set و Dictionary هستند که همگی کیفیت ها و کاربردهای متفاوتی دارند.

تاپل دارای ترتیب و غیرقابل تغییر است.

مثال

یک Tuple ایجاد کنید:

thistuple = ("apple", "banana", "cherry")
print(thistuple)

آیتم های تاپل

آیتم های تاپل دارای ترتیب و غیرقابل تغییر هستند و همچنین می توانند تکراری باشند.

هر آیتم دارای ایندکس (نمایه) است، آیتم اول ایندکس [0]، دوم ایندکس [1] و به این صورت تا آخر.

ترتیب

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

غیر قابل تغییر

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

مجاز به موارد تکراری

از آنجایی که تاپل ها ایندکس می شوند، می توانند مواردی با مقدار یکسان داشته باشند:

مثال:

thistuple = ("apple", "banana", "cherry", "apple", "cherry")
print(thistuple)

طول تاپل

برای تعیین تعداد آیتم های یک تاپل، از تابع len() استفاده کنید:

مثال

چاپ تعداد آیتم ها در تاپل:

thistuple = ("apple", "banana", "cherry")
print(len(thistuple))

ایجاد تاپل فقط با یک آیتم

برای ایجاد یک تاپل تنها با یک آیتم، باید یک کاما بعد از آیتم اضافه کنید، در غیر این صورت پایتون آن را به عنوان یک تاپل تشخیص نخواهد داد.

مثال:

thistuple = ("apple",)
print(type(thistuple))

#NOT a tuple
thistuple = ("apple")
print(type(thistuple))

نوع داده آیتم های تاپل

آیتم های داخل یک تاپل می توانند از هر نوع داده ای تشکیل شده باشند:

مثال

tuple1 = ("apple", "banana", "cherry")
tuple2 = (1, 5, 7, 9, 3)
tuple3 = (True, False, False)

یک تاپل می تواند شامل ترکیبی از انواع داده های مختلف باشد:

مثال

tuple1 = ("abc", 34, True, 40, "male")

type()

از دیدگاه پایتون، تاپل ها به عنوان اشیایی با نوع داده "tuple" تعریف می شوند:

<class 'tuple'>

مثال

mytuple = ("apple", "banana", "cherry")
print(type(mytuple))

tuple()

همچنین می توان از ()tuple برای ساختن یک تاپل استفاده کرد.

مثال

thistuple = tuple(("apple", "banana", "cherry")) # note the double round-brackets
print(thistuple)

آرایه‌ها (داده‌های گروهی) در پایتون

چهار نوع داده برای کار با مجموعه ای از داده ها در زبان برنامه نویسی پایتون وجود دارد:

  • لیست مجموعه ای مرتب و قابل تغییر است. اعضای تکراری مجاز است.

  • تاپل مجموعه ای مرتب و غیرقابل تغییر است. اعضای تکراری مجاز است.

  • ست مجموعه ای نامرتب و غیرقابل تغییر* و ایندکس نشده است. بدون عضو تکراری.

  • دیکشنری مجموعه ای مرتب** و قابل تغییر است. بدون عضو تکراری.

* آیتم های ست غیرقابل تغییر هستند، اما هر زمان که بخواهید می توانید آیتم ها را حذف و/یا اضافه کنید.

**از نسخه 3.7 پایتون، دیکشنری ها دارای ترتیب هستند. در پایتون 3.6 و نسخه های قبلی، دیکشنری ها نامرتب هستند.

دسترسی به آیتم های تاپل

می توانید با مراجعه به شماره ایندکس به آیتم های Tuple دسترسی پیدا کنید:

مثال

مورد دوم را در تاپل چاپ کنید:

thistuple = ("apple", "banana", "cherry")
print(thistuple[1])

توجه: اولین آیتم دارای اندیس 0 است.

ایندکس منفی

نمایه سازی یا ایندکس منفی یعنی از آخر شروع کردن.

-1 به آخرین آیتم اشاره دارد، -2 به دومین مورد از آخر و به همین ترتیب.

مثال

آخرین مورد از تاپل را چاپ کنید:

thistuple = ("apple", "banana", "cherry")
print(thistuple[-1])

محدوده ای از اندیس ها

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

هنگام تعیین محدوده، مقدار بازگشتی یک تاپل جدید با موارد مشخص شده خواهد بود.

مثال

مورد سوم، چهارم و پنجم را برگردانید:

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[2:5])

مثال بالا از نمایه 2 (شامل آن) شروع می شود و در نمایه 5 (بدون آن) پایان می یابد.

با حذف مقدار شروع، محدوده از اولین آیتم شروع می شود:

این مثال آیتم ها را از ابتدا به "kiwi" باز می گرداند، اما شامل آن نمی شود:

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[:4])

با کنار گذاشتن مقدار پایانی، محدوده تا انتهای تاپل ادامه می‌یابد:

این مثال موارد را از "cherry" به انتها برمی گرداند:

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[2:])

محدوده اندیس های منفی

اگر می‌خواهید جستجو را از انتهای تاپل شروع کنید، از اندیس‌های منفی استفاده کنید:

مثال

این مثال آیتم ها را از اندیس -4 (شامل آن) به اندیس -1 (بدون آن) برمی گرداند.

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[-4:-1])

بررسی وجود یک آیتم

برای فهمیدن اینکه آیا یک آیتم مشخص در یک تاپل وجود دارد یا خیر از کلیدواژه in استفاده کنید:

مثال

بررسی کنید که آیا "apple" در تاپل وجود دارد یا خیر:

thistuple = ("apple", "banana", "cherry")
if "apple" in thistuple:
  print("Yes, 'apple' is in the fruits tuple")

بروزرسانی تاپل ها

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

اما راه‌هایی برای دور زدن آن وجود دارد.

تغییر مقادیر Tuple

هنگامی که یک تاپل ایجاد می شود، نمی توانید مقادیر آن را تغییر دهید. تاپل ها غیرقابل تغییر، یا همان طور که معمولا گفته می شود immutable هستند.

اما یک راه حل وجود دارد. شما می توانید تاپل را به یک لیست تبدیل کنید، لیست را تغییر دهید، و لیست را دوباره به یک تاپل تبدیل کنید.

مثال

x = ("apple", "banana", "cherry")
y = list(x)
y[1] = "kiwi"
x = tuple(y)

print(x)

افزودن آیتم جدید

از آنجایی که تاپل ها تغییر ناپذیر هستند، متدی مثل append() ندارند، اما راه های دیگری برای افزودن آیتم ها به تاپل وجود دارد.

1. تبدیل به یک لیست: درست مانند راه حل برای تغییر یک تاپل، می توانید آن را به یک لیست تبدیل کنید، آیتم(های) خود را اضافه کنید و دوباره آن را به تاپل تبدیل کنید.

مثال

thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.append("orange")
thistuple = tuple(y)

2. تاپل را به تاپل اضافه کنید: شما مجاز هستید تاپل ها را به تاپل های دیگر اضافه کنید، بنابراین اگر می خواهید یک مورد، (یا چند مورد) اضافه کنید، یک تاپل جدید با آیتم(های) موردنظر ایجاد کنید و آن را به تاپل موجود اضافه کنید:

مثال

یک تاپل جدید با مقدار "orange" ایجاد کنید و آن تاپل را اضافه کنید:

thistuple = ("apple", "banana", "cherry")
y = ("orange",)
thistuple += y

print(thistuple)

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

حذف آیتم از تاپل

توجه: شما نمی توانید آیتم ها را در یک تاپل حذف کنید.

تاپل ها غیرقابل تغییر هستند ، بنابراین نمی توانید موارد را از آن حذف کنید، اما می توانید از همان راه حلی استفاده کنید که ما برای تغییر و افزودن موارد تاپل استفاده کردیم:

مثال

thistuple = ("apple", "banana", "cherry")
y = list(thistuple)
y.remove("apple")
thistuple = tuple(y)

یا می توانید تاپل را به طور کامل حذف کنید:

مثال

کلیدواژه del می تواند تاپل را به طور کامل حذف کند:

thistuple = ("apple", "banana", "cherry")
del thistuple
print(thistuple) #this will raise an error because the tuple no longer exists

استخراج اعضا از تاپل

وقتی یک تاپل ایجاد می کنیم، معمولاً مقادیری را به آن اختصاص می دهیم. به این کار "packing" گفته می شود:

مثال

fruits = ("apple", "banana", "cherry")

همچنین در پایتون، ما می توانیم مقادیر را دوباره به متغیرها استخراج کنیم. به این "unpacking" می گویند:

مثال

fruits = ("apple", "banana", "cherry")

(green, yellow, red) = fruits

print(green)
print(yellow)
print(red)

توجه: تعداد متغیرها باید با تعداد مقادیر موجود در تاپل مطابقت داشته باشد، در غیر این صورت باید از یک ستاره برای جمع آوری مقادیر باقی مانده به عنوان لیست استفاده کنید.

با استفاده از ستاره*

اگر تعداد متغیرها کمتر از تعداد مقادیر باشد، می توانید یک * به نام متغیر اضافه کنید و مقادیر به عنوان یک لیست به این متغیر اختصاص داده می شود:

مثال

بقیه مقادیر را در لیستی به نام "red" قرار دهید:

fruits = ("apple", "banana", "cherry", "strawberry", "raspberry")

(green, yellow, *red) = fruits

print(green)
print(yellow)
print(red)

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

مثال

fruits = ("apple", "mango", "papaya", "pineapple", "cherry")

(green, *tropic, red) = fruits

print(green)
print(tropic)
print(red)

حلقه روی تاپل

با استفاده از for می‌توانید روی آیتم‌های تاپل حلقه بزنید.

مثال

thistuple = ("apple", "banana", "cherry")
for x in thistuple:
  print(x)

در پست های بعدی با حلقه for بیشتر آشنا خواهید شد.

حلقه روی اندیس ها

همچنین می‌توانید با مراجعه به شماره اندیس ها، روی آنها حلقه بزنید.

از توابع range() و len() برای ایجاد یک تکرار شونده مناسب استفاده کنید.

مثال

همه موارد را با مراجعه به شماره فهرست آنها چاپ کنید:

thistuple = ("apple", "banana", "cherry")
for i in range(len(thistuple)):
  print(thistuple[i])

استفاده از حلقه while

با استفاده از while نیز می‌توانید روی آیتم‌های تاپل حلقه بزنید.

از تابع len() برای تعیین طول تاپل استفاده کنید ، سپس از 0 شروع کرده و با مراجعه به اندیس ها، مسیر خود را تا آخرین آیتم طی کنید.

به یاد داشته باشید که پس از هر بار تکرار، اندیس را یک عدد افزایش دهید تا حلقه بی‌نهایت ایجاد نکنید.

مثال

thistuple = ("apple", "banana", "cherry")
i = 0
while i < len(thistuple):
  print(thistuple[i])
  i = i + 1

در پست های بعدی با حلقه while بیشتر آشنا خواهید شد.

ترکیب (Join) تاپل ها

برای ترکیب دو یا چند تاپل می توانید از عملگر + استفاده کنید:

مثال

tuple1 = ("a", "b" , "c")
tuple2 = (1, 2, 3)

tuple3 = tuple1 + tuple2
print(tuple3)

ضرب تاپل ها

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

مثال

fruits = ("apple", "banana", "cherry")
mytuple = fruits * 2

print(mytuple)

متد های تاپل

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

Method

Description

count()

Returns the number of times a specified value occurs in a tuple

index()

Searches the tuple for a specified value and returns the position of where it was found

مجموعهآموزش پایتون از صفر(23 پست)
1.پایتون چیست؟ مقدمه پایتون10 ماه قبل2.برنامه نویسی پایتون را چطور شروع کنیم؟10 ماه قبل3.آموزش سینتکس (نحوه نوشتن) پایتون10 ماه قبل4.آموزش متغیرهای پایتون10 ماه قبل5.آموزش انواع داده در پایتون10 ماه قبل6.آموزش اعداد در پایتون10 ماه قبل7.آموزش Casting (تبدیل نوع داده) در پایتون10 ماه قبل8.آموزش رشته در پایتون10 ماه قبل9.آموزش بولین یا Boolean در پایتون10 ماه قبل10.آموزش عملگرهای پایتون10 ماه قبل11.آموزش لیست در پایتون10 ماه قبل12.آموزش تاپل یا چندتایی در پایتون9 ماه قبل13.آموزش Set یا مجموعه در پایتون8 ماه قبل14.آموزش نوع داده دیکشنری در پایتون8 ماه قبل15.آموزش شرط if ... else در پایتون8 ماه قبل16.آموزش حلقه while در پایتون8 ماه قبل17.آموزش حلقه for در پایتون8 ماه قبل18.آموزش توابع در پایتون8 ماه قبل19.آموزش توابع Lambda (لامبدا) در پایتون8 ماه قبل20.آموزش آرایه در پایتون7 ماه قبل21.آموزش کلاس و Object در پایتون7 ماه قبل22.آموزش ارث بری یا وراثت در پایتون7 ماه قبل23.آموزش تکرارگر یا iterator در پایتون7 ماه قبل

کامنت ها