لیست‌ها

از ویکی‌کد، دانشنامهٔ برنامه‌نویسی
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Python-menu.png
موارد آموزشی
۱خانه
۲مقدمه
۳شروع کار
۴دستور زبان
۵توضیحات
۶متغیرها
۷انواع داده‌ها
۸اعداد
۹تبدیل نوع
۱۰رشته‌ها
۱۱Booleans
۱۲عملگرها
۱۳لیست‌ها
۱۴تاپل‌ها
۱۵مجموعه‌ها
۱۶دیکشنری‌ها
۱۷If...Else
۱۸حلقهٔ While
۱۹حلقهٔ For
۲۰توابع
۲۱Lambda
۲۲آرایه‌ها
۲۳کلاس‌ها / اشیاء
۲۴ارث‌بری
۲۵Iteratorها
۲۶دامنه
۲۷ماژول‌ها
۲۸تاریخ و زمان
۲۹JSON
۳۰RegEx
۳۱PIP
۳۲Try...Except
۳۳ورودی کاربر
۳۴قالب‌بندی رشته
مدیریت فایل
یادگیری ماشین
MySQL در پایتون
MongoDB در پایتون
مرجع پایتون
مرجع ماژول
چگونه در پایتون؟
مثال‌های پایتون

مجموعه ها (آرایه ها) در پایتون

چهار نوع داده مجموعه (به انگلیسی: Collection) در زبان برنامه‌نویسی پایتون وجود دارد:[۱]

  • لیست یک collection مرتب و قابل تغییر است. می‌تواند عضو تکراری هم داشته باشد
  • تاپل (چندتایی مرتب) collection مرتب و غیرقابل تغییر است. می‌تواند عضو تکراری داشته باشد
  • مجموعه (Set) یک collection نامرتب و بدون اندیس (به انگلیسی: unindexed) است. عضو تکراری ندارد
  • دیکشنری یک collection نامرتب، غیرقابل تغییر و اندیس گذاری شده‌است. عضو تکراری ندراد

هنگام انتخاب نوع یک collection، دانستن ویژگی‌های آن نوع مفید است. انتخاب نوع درست برای مجموعه داده خاص می‌تواند به معنای حفاظت از معنی باشد و می‌تواند به معنی افزایش efficiency (به فارسی: کارآمدی) و امنیت باشد.

فهرست

لیست یک collection مرتب و قابل تغییر است. در پایتون لیست‌ها داخل براکت‌ها [ ] نوشته می‌شوند.

مثال

یک لیست ایجاد می‌کند:

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


مشاهدهٔ نتیجه


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

می‌توانید با ارجاع زدن به عدد اندیس به آیتم‌های لیست دسترسی داشته باشید:

مثال

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

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


مشاهدهٔ نتیجه


اندیس گذاری منفی

اندیس گذاری منفی یعنی شروع از انتها، -1 به آخرین آیتم اشاره می‌کند، -2 به دومین آیتم از آخر اشاره می‌کند و غیره.

مثال

آخرین آیتم لیست را چاپ می‌کند:

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


مشاهدهٔ نتیجه


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

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

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

مثال

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

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


مشاهدهٔ نتیجه


توجه: جستجو از اندیس ۲ آغاز می‌شود (شامل خود ۲) و در اندیس ۵ به پایان می‌رسد (شامل ۵ نمی‌شود).
به یاد داشته باشید که اولین آیتم اندیس ۰ دارد.

در صورت تعیین نکردن مقدار شروع، محدوده از اولین آیتم آغاز می‌شود:

مثال

این مثال آیتم‌ها را از شروع تا “orange” برمی‌گرداند:

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


مشاهدهٔ نتیجه


در صورت تعیین نکردن مقدار نهایی، محدوده تا انتهای لیست پیش خواهد رفت:

مثال

این کثال آیتم‌ها را از “cherry” تا انتها برمی‌گرداند:

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


مشاهدهٔ نتیجه


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

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

مثال

این مثال آیتم‌ها را از اندیس (شامل خود ) تا اندیس (شامل نمی‌شود) برمی‌گرداند

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


مشاهدهٔ نتیجه


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

برای تغییر مقدار یک آیتم خاص، به شماره اندیس آن ارجاع بزنید:

مثال

آیتم دوم را تغییر می‌دهد:

1 thislist = ["apple", "banana", "cherry"]
2 thislist[1] = "blackcurrant"
3 print(thislist)


مشاهدهٔ نتیجه


پیمایش در یک لیست

می‌توانید با استفاده از حلقه for در لیست پیمایش کنید:

مثال

همهٔ آیتم‌های لیست را یک به یک چاپ می‌کند:

1 thislist = ["apple", "banana", "cherry"]
2 for x in thislist:
3   print(x)


مشاهدهٔ نتیجه


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

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

برای تعیین اینکه آیا یک آیتم در لیست وجود دارد یا نه از کلمه کلیدی in استفاده می‌شود:

مثال

وجود “apple” را در لیست بررسی می‌کند:

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


مشاهدهٔ نتیجه


طول لیست

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

مثال

تعداد آیتم‌های لیست را چاپ می‌کند:

1 thislist = ["apple", "banana", "cherry"]
2 print(len(thislist))


مشاهدهٔ نتیجه


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

برای اضافه کردن آیتم‌ها به انتهای لیست از متد append() استفاده می‌شود:

مثال

از متد append() برای اضافه کردن یک آیتم استفاده می‌کند:

1 thislist = ["apple", "banana", "cherry"]
2 thislist.append("orange")
3 print(thislist)


مشاهدهٔ نتیجه


برای اضافه کردن آیتم در اندیش مشخص از متد insert() استفاده می‌شود:

مثال

آیتم را در دومین مکان وارد می‌کند:

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


مشاهدهٔ نتیجه


حذف آیتم

متدهای بسیاری برای حذف آیتم‌ها از لیست وجود دارد:

مثال

متد remove() آیتم مشخص شده را حذف می‌کند:

1 thislist = ["apple", "banana", "cherry"]
2 thislist.remove("banana")
3 print(thislist)


مشاهدهٔ نتیجه


مثال

متد pop() اندیس مشخص شده را (یا اگر اندیس مشخص نشده باشد آخرین آیتم را) حذف می‌کند:

1 thislist = ["apple", "banana", "cherry"]
2 thislist.pop()
3 print(thislist)


مشاهدهٔ نتیجه


مثال

کلمه کلیدی del اندیس مشخص شده را حذف می‌کند:

1 thislist = ["apple", "banana", "cherry"]
2 del thislist[0]
3 print(thislist)


مشاهدهٔ نتیجه


مثال

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

1 thislist = ["apple", "banana", "cherry"]
2 del thislist


مشاهدهٔ نتیجه


مثال

متد clear() لیست را خالی می‌کند:

1 thislist = ["apple", "banana", "cherry"]
2 thislist.clear()
3 print(thislist)


مشاهدهٔ نتیجه


کپی کردن لیست

با تایپ کردن list2 = list1 نمی‌توان یک لیست را به سادگی کپی کرد زیرا: list2 فقط یه ارجاع به list1 می‌شود و تغییرات اعمال شده در list1 بطور خودکار در list2 هم اعمال می‌شود.

برای ایجاد کپی روش‌هایی وجود دارد، یکی از روش‌ها استفاده از متد لیست داخلی copy() است.

مثال

با متد copy() یک کپی از لیست ایجاد کنید:

1 thislist = ["apple", "banana", "cherry"]
2 mylist = thislist.copy()
3 print(mylist)


مشاهدهٔ نتیجه


روش دیگر برای ایجاد کپی استفاده از متد داخلی list() است.

مثال

با متد list() یک کپی از لیست ایجاد می‌کند:

1 thislist = ["apple", "banana", "cherry"]
2 mylist = list(thislist)
3 print(mylist)


مشاهدهٔ نتیجه


پیوستن (به انگلیسی: Join) دو لیست به هم

در پایتون روش‌های زیادی برای join یا الحاق (به انگلیسی: concatenate) دو یا چند لیست وجود دارد.

یکی از ساده‌ترین روش‌ها استفاده از عملگر + است.

مثال

Join دو لیست به هم

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


مشاهدهٔ نتیجه


یکی دیگر از روش‌های الحاق دو لیست ضمیمه کردن (به انگلیسی: append) یک به یک همهٔ آیتم‌های list2 به list1 است:

مثال

List2 را به list1 ضمیمه می‌کند:

1 list1 = ["a", "b" , "c"]
2 list2 = [1, 2, 3]
3 
4 for x in list2:
5   list1.append(x)
6 
7 print(list1)


مشاهدهٔ نتیجه


یا می‌توانید از متد extend()که هدف ظان اضافه کردن عنصرها از لیستی به لیست دیگر است استفاده کنید:

مثال

استفاده از متد extend() برای اضافه کردن list2 در انتهای list1:

1 list1 = ["a", "b" , "c"]
2 list2 = [1, 2, 3]
3 
4 list1.extend(list2)
5 print(list1)


مشاهدهٔ نتیجه


سازنده (Constructor) list()

همچنین استفاده از سازنده list() برای ایجاد لیست جدید نیز ممکن است:

مثال

از سازنده list() برای ایجاد یک لیست استفاده می‌کند:

1 thislist = list(("apple", "banana", "cherry")) # note the double round-brackets
2 print(thislist)


مشاهدهٔ نتیجه


متدهای لیست

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

متد تعریف
append() عنصری را به انتهای لیست اضافه می‌کند
clear() همهٔ عنصرهای لیست را حذف می‌کند
copy() یک کپی از لیست برمی‌گرداند
count() تعداد عنصرهای دارای مقدار خاص را برمی‌گرداند
extend() عنصرهای یک لیست را (یا هر نوع iterable را) به انتهای لیست فعلی اضافه می‌کند
index() اندیس اولین عنصر با مقدار مشخص شده را برمی‌گرداند
insert() عنصری را در مکان مشخص شده اضافه می‌کند
pop() عنصری را از مکام مشخص شده حذف می‌کند
remove() آیتمی با مقدار مشخص شده را حذف می‌کند
reverse() ترتیب لیست را معکوس می‌کند
sort() لیست را مرتب می‌کند


منابع آموزشی