آموزش پایتون از صفر – لیست ها در پایتون
آموزش پایتون از صفر – لیست ها در پایتون
در این قسمت از آموزش های پایتون از صفر، به لیست ها میپردازیم. لیست ها در پایتون خیلی کاربرد دارند. لیست ها یکی از ساختارهای داده ای هستند که شبیه به آرایه ها در زبان های برنامه نویسی دیگر وجود دارند.
در پایتون ما چهار نوع داده مجموعه ای داریم که شبیه آرایه ها هستند:
-لیست ها: مجموعه ای که مرتب است و قابل تغییر و اعضای تکراری هم میپذیرد.
-تاپل ها: مجموعه ای که مرتب است ولی قابل تغییر نیست و اعضای تکراری میپذیرد.
-ست ها: مجموعه ای که مرتب نیست و شماره گذاری هم نشده و اعضای تکراری هم نمیپذیرد.
-دیکشنری ها: مجموعه ای است قابل تغییر ولی نامرتب، و اعضای تکراری هم نمیپذیرد.
شاید این نوع داده ای های مجموعه ای کارهای یکسانی (در بعضی موارد) انجام دهند اما شما همیشه سعی کنید که نوع درستی را برای برنامه خودتان انتخاب کنید که بعدا دچار مشکل نشوید.
لیست ها در پایتون
همانطور که گفته شد، لیست ها در پایتون، مجموعه هایی هستند مرتب و قابل تغییر. در پایتون لیست ها را با براکت ای [] تعریف میکنند:
thislist = [“apple”, “banana”, “cherry”]
print(thislist)
دسترسی به آیتم ها در لیست
برای اینکه بتوانید به تک تک عناصر یک لیست دسترسی داشته باشید باید شماره ایندکس آن را هم در موقع استفاده قید کنید. مثال ببینید:
thislist = [“apple”, “banana”, “cherry”]
print(thislist[1])
همانطور که میدانید در برنامه نویسی از صفر شمرده میشود. پس در اینجا apple شماره ایندکس آن 0 است و banana شماره ایندکس آن 1 و همچنین cherry هم 2 است و ما وقتی در دستور پرینت گفتیم که thislist[1] را چاپ کن یعنی برو از لیست و عنصری که ایندکس آن 1 است را بردار و آن را چاپ کن. به این ترتیب کل لیست چاپ نمیشود.
همچنین شما میتوانید بنویسید thislist[-1] این به چه معنی است؟ مجموعه عددهای زیر را ببینید:
-3,-2,-1,0,1,2,3
وقتی ما میگوییم آیتم -1 را چاپ کن، برنامه میرود و از آیتم apple که ایندکس آن 0 است یکی به عقب برمیگردد! اما چیزی که پشت آن نیست! به همین خاطر آیتم آخری را چاپ میکند. عکس زیر میتواند به شما در فهم این مطلب کمک کند:
دسترسی به محدوده ای از عناصر در لیست
شما میتوانید مشخص کنید که فقط یک بازه معینی از لیست چاپ شود. برای مثلا میتوانید بنویسید که از ایندکس شماره 2 تا ایندکس شماره 5 را چاپ کن. این انتخاب کردن از داخل یک لیست، خودش میتواند به عنوان یک لیست دیگر مورد استفاده قرار بگیرد فقط کافی است آن را در داخل یک متغیر قرار دهید.
thislist = [“apple”, “banana”, “cherry”, “orange”, “kiwi”, “melon”, “mango”]
print(thislist[2:5])
نکته ای که باید بدانید در انتخاب درست بازه است. در مثال بالا از لیست thislist عنصر ایندکس 2 شامل میشود ولی عنصر ایندکس 5 شامل نمیشود و اگر بخواهید که عنصر ایندکس 5 هم در لیست جدید باشد باید بازه شما به صورت [2:6] باشد.
همچنین شما میتوانید بازه را به شکل [:4] بنویسید. در اینجا که اولین عدد بازه را نمینویسید برنامه به صورت خودکار از اولین آیتم لیست شروع میکند:
thislist = [“apple”, “banana”, “cherry”, “orange”, “kiwi”, “melon”, “mango”]
print(thislist[:4])
همینطور اگر در بازه عدد دومی را ننویسید، لیست از نقطه شروعی که انتخاب کردید تا آخرین آیتم لیست ادامه پیدا میکند:
thislist = [“apple”, “banana”, “cherry”, “orange”, “kiwi”, “melon”, “mango”]
print(thislist[2:])
این بازه ها را میتوانید برای اعداد منفی هم کار کنید. (تمرین با شما)
عوض کردن مقدار یک آیتم
همانطور که گفته شد آیتم های یک لیست را میتوانید عوض کنید. برای عوض کردن یکی از عناصر لیست باید به ایندکس آن اشاره کنید:
thislist = [“apple”, “banana”, “cherry”]
thislist[1] = “blackcurrant”
print(thislist)
حرکت بر روی لیست
شما میتوانید با یک حلقه for روی تمام آیتم های یک لیست حرکت کنید. برای مثال کد زیر تمام آیتم های لیست را چاپ میکند:
thislist = [“apple”, “banana”, “cherry”]
for x in thislist:
print(x)
چک کردن آیتم در یک لیست
برای مثال کد زیر چک میکند که آیتم “apple” در لیست وجود دارد یا نه:
thislist = [“apple”, “banana”, “cherry”]
if “apple” in thislist:
print(“Yes, ‘apple’ is in the fruits list”)
طول لیست ها در پایتون
با تابع len() میتوانید طول یک رشته، لیست و.. را بفهمید. برای مثال کد زیر تعداد اعضای لیست را چاپ میکند:
thislist = [“apple”, “banana”, “cherry”]
print(len(thislist))
اضافه کردن آیتم به لیست
با تابع append() میتوانید به لیست آیتم اضافه کنید.
thislist = [“apple”, “banana”, “cherry”]
thislist.append(“orange”)
print(thislist)
این تابع به آخر لیست اضافه میکند. برای اینکه بتوانید به ایندکس دلخواه خودتان آیتم اضافه کنید باید با دستور insert() این کار را انجام دهید. برای مثال کد زیر به ایندکس شماره 1 آیتم اضافه کنید:
thislist = [“apple”, “banana”, “cherry”]
thislist.insert(1, “orange”)
print(thislist)
حذف آیتم
برای حذف آیتم ها از لیست ها در پایتون متدهای مختلفی وجود دارد:
تابع remove() یک آیتم مشخص را حذف میکند:
thislist = [“apple”, “banana”, “cherry”]
thislist.remove(“banana”)
print(thislist)
تابع pop() یک ایندکس مشخص را حذف میکند و اگر ایندکس را ننویسید، آخرین آیتم لیست حذف میشود:
thislist = [“apple”, “banana”, “cherry”]
thislist.pop()
print(thislist)
دستور del هم مثل تابع pop() یک ایندکس مشخص را حذف میکند:
thislist = [“apple”, “banana”, “cherry”]
del thislist[0]
print(thislist)
همچنین اگر ایندکس را در دستور del مشخص نکنید، کل لیست پاک میشود:
thislist = [“apple”, “banana”, “cherry”]
del thislist
با تابع clear() هم میتوانید کل لیست را پاک کنید:
thislist = [“apple”, “banana”, “cherry”]
thislist.clear()
print(thislist)
کپی لیست
شما به راحتی نمیتوانید بنویسید: list1=list2 چون در این صورت هر تغییری در list1 بدهید list2 هم عوض میشود. به بیانی دیگر list2 یک رفرنس از list1 است.
راه هایی برای کپی لیست وجود دارد. اولین راه این است که از متد copy استفاده کنید:
thislist = [“apple”, “banana”, “cherry”]
mylist = thislist.copy()
print(mylist)
راه بعدی استفاده از متد list() است:
thislist = [“apple”, “banana”, “cherry”]
mylist = list(thislist)
print(mylist)
به هم چسباندن دو لیست
راه های زیاد و ساده ای برای به هم چسباندن لیست ها در پایتون وجود دارد. اولین آنها استفاده از عملگر + است:
list1 = [“a”, “b” , “c”]
list2 = [1, 2, 3]
list3 = list1 + list2
print(list3)
راه بعدی استفاده از دستور append() است. این دستور برای اضافه کردن آیتم به لیست استفاده میشود که میتوانید با ترفند زیر، آیتم های یک لیست را به لیست دیگری اضافه کنید:
list1 = [“a”, “b” , “c”]
list2 = [1, 2, 3]
for x in list2:
list1.append(x)
print(list1)
یا شما میتوانید از متد extend() استفاده کنید. این متد به صورت اختصاصی برای این ساخته شده که آیتم های یک لیست را، به لیست دیگری اضافه کند:
list1 = [“a”, “b” , “c”]
list2 = [1, 2, 3]
list1.extend(list2)
print(list1)
ساختار لیست ها در پایتون
گفتیم که لیست ها در پایتون با [] تعریف میشوند اما شما میتوانید با list(()) هم یک لیست را تعریف کنید:
thislist = list((“apple”, “banana”, “cherry”))
print(thislist)
فقط حواستان به پرانتز های دوتایی باشد ?
متدهای لیست در یک نگاه
متد | توضیحات |
append() | اضافه کردن آیتم به لیست |
clear() | حذف تمام آیتم های لیست |
copy() | کپی گرفتن از لیست |
count() | تعداد آیتم های یک لیست |
extend() | اضافه کردن آیتم های لیست به لیست دیگر |
index() | مشاهده ایندکس آیتم ها |
insert() | اضافه کردن به لیست در موقعیت دلخواه |
pop() | حذف آیتم ها از موقعیت دلخواه |
remove() | حذف آیتم ها با داده مشخص |
reverse() | برعکس کردن لیست |
sort() | مرتب کردن لیست |
سخنان پایانی
همانطور که دیدید لیست ها در پایتون بسیار گسترده اند و خیلی هم مورد استفاده قرار میگیرند. پس خیلی خوب است اگر آنها را در همین ابتدا یاد بگیرید و تمرین در مورد آنها اصلا فراموش نشود. سعی کنید لیست ها و متدهای آن را تمرین و تکرار کنید تا همیشه در خاطرتان بماند.
موفق باشید.
1 Comment
Join the discussion and tell us your opinion.
سلام
در این قسمت فایل تصویری نبود
دیگه ادامه نمیدید؟؟؟؟؟؟؟؟؟