Collections در پایتون

۴ نوع داده‌ی Collection در زبان برنامه نویسی پایتون وجود دارد:
List: یک مجموعه‌ از داده‌ها که مرتب و قابل تغییر است و می‌تواند اعضای تکراری داشته باشد.
Tuple: یک مجموعه‌ از داده‌ها که مرتب است و قابل تغییر نیست و می‌تواند اعضای تکراری داشته باشد.
Set: یک مجموعه‌ از داده‌ها که نامرتب و بدون اندیس است و نمی‌تواند اعضای تکراری داشته باشد.Dictionary: یک مجموعه‌ از داده‌ها که نامرتب، قابل تغییر و دارای اندیس است و نمی‌تواند اعضای تکراری داشته باشد.
هنگام انتخاب یک نوع از Collection باید ویژگی‌های آن را بدانید. انتخاب نوع صحیح برای یک مجموعه‌ از داده‌های خاص می‌تواند در افزایش راندمان و امنیت مؤثر باشد.

Tuple

یک مجموعه‌ از داده‌ها که مرتب است و قابل تغییر نیست و می‌تواند اعضای تکراری داشته باشد.
در پایتون Tuple با پرانتز نوشته می‌شود.
مثال زیر یک Tuple ایجاد می‌کند.

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

# Output
('apple', 'banana', 'cherry')

دسترسی به آیتم‌ها

شما می‌توانید با استفاده از شماره اندیس به آیتم‌ها دسترسی پیدا کنید.
مثال زیر آیتم دوم را چاپ می‌کند.

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

# Output
banana

اندیس منفی (Negative Indexing)

اندیس منفی به معنای شروع از انتهای ‌Tuple است. 1- به آخرین آیتم اشاره دارد.
مثال زیر آخرین آیتم Tuple را چاپ می‌کند.

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

# Output
cherry

محدوده‌ای از اندیس‌ها (Range of Indexes)

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

# Input
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[2:5])
# This will return the items from position 2 to 5.
# Remember that the first item is position 0,
# and note that the item in position 5 is NOT included

# Output
('cherry', 'orange', 'kiwi')

دقت داشته باشید در مثال بالا اندیس ۲ را شامل می‌شود ولی اندیس ۵ را شامل نمی‌شود.
به یاد داشته باشید آیتم اول دارای اندیس صفر است.
با وارد نکردن مقدار شروع، محدوده از آیتم اول شروع می‌شود.

# Input
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[:4])
# This will return the items from index 0 to index 4.
# Remember that index 0 is the first item, and index 4 is the fifth item
# Remember that the item in index 4 is NOT included


# Output
('apple', 'banana', 'cherry', 'orange')

با وارد نکردن مقدار پایان، محدوده تا انتهای ‌Tuple ادامه می‌یابد.

# Input
thistuple = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thistuple[2:])
# This will return the items from index 2 to the end.
# Remember that index 0 is the first item, and index 2 is the third

# Output
('apple', 'banana', 'cherry', 'orange')

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

اگر می‌خواهید جستجو را از انتهای Tuple شروع کنید از اندیس‌های منفی استفاده کنید.
مثال زیر آیتم‌ها را از اندیس ۴- تا ۱- را برمی‌گرداند.

# Input
thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(thistuple[-4:-1])
# Negative indexing means starting from the end of the tuple.
# This example returns the items from index -4 (included) to index -1 (excluded)
# Remember that the last item has the index -1,

# Output
('orange', 'kiwi', 'melon')

تغییر مقدار آیتم‌ها

پس از ایجاد یک Tuple نمی‌توانید مقدارهای آن را تغییر دهید.
اما راه حلی وجود دارد. می‌توانید Tuple را به List تبدیل کنید و مقدار موردنظر را در List تغییر دهید و سرانجام List را به Tuple تبدیل کنید.
مثال زیر Tuple را به List تبدیل می‌کند تا بتواند آن را تغییر دهد.

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

# Output
('apple', 'blackcurrant', 'cherry')

پیمایش Tuple

با استفاده از حلقه‌ی For می‌توانید Tuple را پیمایش و آیتم‌های آن را چاپ کنید.
مثال زیر همه‌ی آیتم‌های Tuple را از اول تا آخر چاپ می‌کند.

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

# Output
apple
banana
cherry

نوشته‌ی حلقه‌ی For در پایتون را مطالعه کنید.

بررسی وجود داشتن آیتم

برای تعیین اینکه آیا یک آیتم مشخص در Tuple وجود دارد از کلمه‌‌‌ی کلیدی IN استفاده کنید.
مثال زیر بررسی می‌کند که آیا apple در Tuple وجود دارد یا خیر.

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

# Output
Yes, 'apple' is in the fruits tuple

طول Tuple

برای تعیین تعداد آیتم‌ها در Tuple از تابع len استفاده کنید.
مثال زیر تعداد آیتم‌های Tuple را چاپ می‌کند.

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

# Output
3

اضافه کردن آیتم

پس از ایجادTuple نمی‌توانید آیتم جدید به آن اضافه کنید. تاپل‌ها غیرقابل تغییر هستند.

# Input
thistuple = ("apple", "banana", "cherry")
thistuple[3] = "orange" # This will raise an error
print(thistuple)

# Output
Traceback (most recent call last):
  File "demo_tuple_add.py", line 2, in <module>
    thistuple[3] = "orange" # This will raise an error
TypeError: 'tuple' object does not support item assignment

ایجاد Tuple با یک آیتم

برای ایجاد ‌Tuple فقط با یک آیتم باید بعد از آیتم، کاما (Comma) اضافه کنید. در غیر این صورت پایتون آن را به عنوان یک Tuple تشخیص نمی‌دهد.

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

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

# Output
<class 'tuple'>
<class 'str'>

حذف آیتم

تاپل‌ها غیرقابل تغییر هستند بنابراین نمی‌توانید آیتم‌های Tuple را حذف کنید. اما می‌توانید Tuple را به طور کامل حذف کنید.

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

# Output
Traceback (most recent call last):
  File "demo_tuple_del.py", line 3, in <module>
    print(thistuple) #this will raise an error because the tuple no longer exists
NameError: name 'thistuple' is not defined

متصل کردن دو یا چند Tuple

برای متصل کردن دو یا چند Tuple می‌توانید از عملگر + استفاده کنید.

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

tuple3 = tuple1 + tuple2
print(tuple3)

# Output
('a', 'b', 'c', 1, 2, 3)

تابع سازنده tuple

می‌توان از تابع سازنده tuple برای ساخت یک Tuple جدید استفاده کرد.

# Input
thistuple = tuple(("apple", "banana", "cherry"))
print(thistuple)

# Output
('apple', 'banana', 'cherry')

متدهای Tuple

پایتون مجموعه‌ای از متدهای داخلی دارد که می‌توانید از آن‌ها در Tuple استفاده کنید.

count

تعداد تکرار عنصر مشخص‌ شده در ‌Tuple را برمی‌گرداند.
مثال زیر تعداد دفعاتی که مقدار 5 در Tuple تکرار شده را برمی‌گرداند.

# Input
thistuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5)
x = thistuple.count(5)
print(x)

# Output
2

index

اندیس عنصر مشخص‌شده را برمی‌گرداند. در صورت عدم وجود عنصر در Tuple یک استثناء (Exception) برمی‌گرداند.
مثال زیر اندیس مقدار 8 در Tuple را برمی‌گرداند.

# Input
thistuple = (1, 3, 7, 8, 7, 5, 4, 6, 8, 5)
x = thistuple.index(8)
print(x)

# Output
3

دقت داشته باشید متد index فقط اندیس اولین عنصر مشخص‌شده‌ای را که در Tuple پیدا کند برمی‌گرداند.

منابع
w3schools.com – Python Tuples
Photo by Negative Space from Pexels

نظر دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *