Collections در پایتون

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

List

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

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

# Output
['apple', 'banana', 'cherry']

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

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

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

# Output
banana

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

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

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

# Output
cherry

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

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

# Input
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[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
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[: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']

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

# Input
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[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']

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

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

# Input
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[-4:-1])
# Negative indexing means starting from the end of the list.
# 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']

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

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

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

# Output
['apple', 'blackcurrant', 'cherry']

پیمایش List

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

# Input
thislist = ["apple", "banana", "cherry"]
for x in thislist:
    print(x)

# Output
apple
banana
cherry

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

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

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

# Input
thislist = ["apple", "banana", "cherry"]
if "apple" in thislist:
    print("Yes, 'apple' is in the fruits list")

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

طول List

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

# Input
thislist = ["apple", "banana", "cherry"]
print(len(thislist))

# Output
3

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

برای افزودن یک آیتم به انتهای List از متد append استفاده کنید.
مثال زیر با استفاده از متد append یک آیتم به انتهای List اضافه می‌کند.

# Input
thislist = ["apple", "banana", "cherry"]
thislist.append("orange")
print(thislist)

# Output
['apple', 'banana', 'cherry', 'orange']

برای افزودن آیتم در یک اندیس مشخص از متد insert استفاده کنید.

# Input
thislist = ["apple", "banana", "cherry"]
thislist.insert(1, "orange")
print(thislist)

# Output
['apple', 'orange', 'banana', 'cherry']

حذف آیتم

روش‌های مختلفی برای حذف آیتم از List وجود دارد.
مثال زیر از متد remove برای حذف آیتم مشخص‌شده استفاده می‌کند.

# Input
thislist = ["apple", "banana", "cherry"]
thislist.remove("banana")
print(thislist)

# Output
['apple', 'cherry']

از متد pop برای حذف آیتم با اندیس مشخص‌ استفاده می‌شود. در صورتی که اندیس مشخص نشود آخرین آیتم حذف می‌شود.

# Input
thislist = ["apple", "banana", "cherry"]
thislist.pop()
print(thislist)

# Output
['apple', 'banana']

کلمه‌ی کلیدی del می‌تواند List را به‌طور کامل حذف کند.

# Input
thislist = ["apple", "banana", "cherry"]
del thislist
print(thislist) # this will cause an error because you have succsesfully deleted "thislist".

# Output
Traceback (most recent call last):
  File "demo_list_del2.py", line 3, in <module>
    print(thislist) #this will cause an error because you have succsesfully deleted "thislist".
NameError: name 'thislist' is not defined

با استفاده از متد clear می‌توانید List را خالی کنید.

# Input
thislist = ["apple", "banana", "cherry"]
thislist.clear()
print(thislist)

# Output
[]

کپی کردن List

شما نمی‌توانید یک List را فقط با نوشتن list1 = list2 کپی کنید. زیرا در این صورت list2 فقط یک مرجع (Refrence) برایlist1 خواهد بود و تغییرات ایجاد شده در list1 به صورت خودکار در list2 نیز انجام می‌شود.
روش‌هایی برای کپی کردن List وجود دارد که یکی از آن‌ها استفاده از متد copy است.
مثال زیر با استفاده از متدcopy یک کپی از List تهیه می‌کند.

# Input
thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist)

# Output
['apple', 'banana', 'cherry']

راه دیگر آن استفاده از متد list است.
مثال زیر با استفاده از متدlist یک کپی از List تهیه می‌کند.

# Input
thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)
print(mylist)

# Output
['apple', 'banana', 'cherry']

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

چندین روش برای اتصال دو یا چند List در پایتون وجود دارد.
یکی از ساده‌ترین راهها استفاده از عملگر + است.
مثال زیر دو List را به‌هم متصل می‌کند.

# Input
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list3 = list1 + list2
print(list3)

# Output
['a', 'b', 'c', 1, 2, 3]

راه دیگر برای متصل کردن دو List افزودن یک به یک آیتم‌های list2 به list1 است.
مثال زیر آیتم‌های list2 به list1 با استفاده از متد append افزوده می‌شود.

# Input
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

for x in list2:
    list1.append(x)

print(list1)

# Output
['a', 'b', 'c', 1, 2, 3]

همچنین می‌توانید از متد extend استفاده کنید. این متد آیتم‌ها را از یک List به List دیگر اضافه می‌کند.

# Input
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

list1.extend(list2)
print(list1)

# Output
['a', 'b', 'c', 1, 2, 3]

تابع سازنده list

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

# Input
thislist = list(("apple", "banana", "cherry"))
print(thislist)

# Output
['apple', 'banana', 'cherry']

منابع
w3schools.com – Python Lists
Photo by Lukas from Pexels

نظر دهید

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