نوع داده لیست ها (فهرست) (Lists) در پایتون (Python)

نوع داده لیست ها (فهرست) (Lists) در پایتون (Python)

زمان مطالعه

5 دقیقه

تعداد بازدید

271

تعداد پرسش ها

0

افزودن به لیست علاقه مندی ها


برچسب ها :


اشتراک گذاری این مطلب
سامان محمدپور
در مورد نویسنده : موفقیت بستگی به تلاش هر شخص داره، هممون ب همون اندازه که تلاش کردیم موفق شدیم.

نوع داده لیست ها (فهرست) (Lists) در پایتون (Python)

نوع داده لیست ها (فهرست) (Lists) در پایتون (Python)

زمان مطالعه

5 دقیقه

تعداد بازدید

271

تعداد پرسش ها

0

افزودن به لیست علاقه مندی ها


برچسب ها :


اشتراک گذاری این مطلب

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

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

لیست ها یکی از 4 نوع داده داخلی هستند که برای ذخیره مجموعه داده ها استفاده می شوند، 3 نوع دیگر عبارتند از tuple، sets و فرهنگ لغت یا همان dictionary هستند که در جاهای مختلف کاربردهای خاص خود را دارند.

لیست ها با استفاده از کورشه ([]) ایجاد می شوند، به مثال زیر دقت کنید.

 

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

 

لیست ها (Lists) در پایتون (Python)

 

آیتم های لیست ها در پایتون (Python)

آیتم های لیست مرتب، قابل تغییر و مقادیر تکراری را مجاز می دانند.

آیتم های لیست دارای ایندکس (Index) هستند و مقدار ایندکس از 0 شروع می شود یعنی اولین آیتم ایندکس آن [0] است دومین آیتم دارای ایندکس [1] است و الی آخر.

مرتب شده

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

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

نکته : لیست دارای متدهایی است که ترتیب آیتم ها را تغییر می دهد، اما به طور کلی ترتیب آن ها تغییر نمی کند.

تغییر پذیر

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

تکرار پذیر بودن آیتم ها

از آن جایی که آیتم ها ایندکس می شوند مقادیر آن ها می توانند تکراری باشند.

 

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

 

تکرارپذیر بودن آیتم های لیست ها (Lists) در پایتون (Python)

 

طول لیست ها 

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

 

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

 

طول لیست ها (Lists) در پایتون (Python)

 

انواع داده ها در آیتم های لیست

آیتم های یک لیست می توانند از هر نوع داده ای باشند و محدودیتی از این لحاظ ندارند.

در مثال زیر ما برای تعریف آیتم های لیست ها از سه نوع رشته ای، عددی و بولی استفاده کردیم.

 

list1 = ["apple", "banana", "cherry"]
list2 = [1, 5, 7, 9, 3]
list3 = [True, False, False]

 

نواع داده ها در آیتم های لیست ها (Lists) در پایتون (Python)

 

یک لیست همچنین می تواند شامل ترکیبی از چند نوع داده باشد.

 

list1 = ["abc", 34, True, 40, "male"]

 

نوع داده ای آیتم های لیست ها (Lists) در پایتون (Python)

 

تابع type

از دیدگاه پایتون، لیست ها به عنوان اشیا با نوع داده ای لیست تعریف می شوند.

 

<class 'list'>

 

در مثال زیر نوع داده ای متغیر تعریف شده، یک شی با نوع داده ای لیست است.

 

mylist = ["apple", "banana", "cherry"]
print(type(mylist))

 

تابع ()type در پایتون (Python)

 

تابع سازنده list

شما همچنین می توانید برای ایجاد ایست جدید از تابع سازنده list() استفاده کنید. حتما از دو پرانتز استفاده کنید.

 

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

 

تابع سازنده لیست (List) در پایتون (Python)

 

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

در پایتون 4 نوع داده برای ذخیره مجموعه داده ها استفاده می شود.

  • لیست ها که مرتب و تغییرپذیر و تعریف مقادیر تکراری در آن مجاز است.
  • tuple که مرتب و غیر قابل تغییر و تعریف مقادیر تکراری در آن مجاز است.
  • set که ترتیبی نیست و ایندکس نمی شود و مقادیر تکراری در آن مجاز نیست.
  • فرهنگ لغت یا dictionary که مرتب است و قابل تغییر است اما مقادیر تکراری در آن مجاز نیست.

 نکته : از نسخه 3.7  پایتون dictionary مرتب شده ارائه شد قبل تر از این نسخه ترتیبی نبود.

هنگام انتخاب نوع مجموعه دقت داشته باشید چون انتخاب نوع مجموعه مناسب باعث ایجاد کارایی و امنیت بیشتر می شود.

دسترسی به اعضای لیست در پایتون (Python)

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

در مثال زیر به ایندکس شماره 1 یعنی آیتم شماره 2 دسترسی پیدا کرده و آن را در خروجی نمایش داده است.

 

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

 

دسترسی به اعضای لیست (List) در پایتون (Python)

 

نکته : ایندکس آیتم ها از 0 شروع می شوند.

ایندکس منفی

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

[1-] به آخرین آیتم اشاره دارد، [2-] به یکی قبل از آخر و همین طور به سمت اولین مقدار لیست شماره گذاری می شود.

در مثال زیر با مقدار ایندکس [1-] به آخرین مقدار لیست دسترسی پیدا کرده و آن را در خروجی چاپ کرده است.

 

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

 

ایندکس منفی در پایتون (Python)

 

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

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

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

در مثال زیر آیتم های 3، 4 و 5 برگشت داده می شوند.

 

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

 

محدوده ایندکس در پایتون (Python)

 

نکته : در مثال بالا محدوده از ایندکس شماره 2 (خود دو شامل می شود) تا ایندکس شماره 5 (ایندکس شماره 5 شامل نمی شود) است.

یادآوری : ایندکس از 0 شروع می شود.

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

 

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

 

محدوده ایندکس در پایتون (Python)

 

اگر مقدار پایان را مشخص نکنید محدوده تا انتهای لیست در نظر گرفته می شود.

 

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

 

محدوده ایندکس در پایتون (Python)

 

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

اگر می خواهید ک بررسی را از انتهای لیست انجام دهید از ایندکس های منفی استفاده کنید.

در مثال زیر محدوده برگشتی لیست جدید از “Orange” (-4) شروع شده و تا “Mango” (که خود آن را شامل نمی شود) مشخص شده است.

 

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

 

محدوده ایندکس منفی در پایتون (Python)

 

بررسی موجود بودن

برای تعیین وجود یک مقدار مشخص درون یک لیست از کلمه کلیدی in استفاده می کنیم.

در مثال زیر بررسی می کند که آیا مقدار “apple” درون لیست وجود دارد یا خیر. اگر مقدار وجود داشته باشد رشته مورد نظر را در خروجی چاپ می کند.

 

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

 

بررسی موجود بودن آیتم در لیست (List) در پایتون (Python)

 

تغییر آیتم های لیست در پایتون (Python)

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

 

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

 

تغییر آیتم های لیست (List) در پایتون (Python)

 

تغییر محدوده ای از آیتم های لیست

برای تغییر مقدار آیتم ها در یک محدوده خاص، لیست جدیدی را تعریف کنید و آن را به محدوده آیتم های مورد نظر در لیست که می خواهید مقادیر آن را تغییر دهید اختصاص دهید.

مثال زیر این موضوع را به طور واضح نشان می دهد.

 

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "mango"]
thislist[1:3] = ["blackcurrant", "watermelon"]
print(thislist)

 

تغییر محدوده ای از آیتم های لیست (List) در پایتون (Python)

 

در این مثال همانطور که می بینید مقادیر “blackcurrant” و “watermelon” جایگزین مقادیر “banana” و “cherry” شده اند.

اگر مقدار جایگزین بسشتر از محدوده مشخص شده باشد آنگاه به اندازه تعداد مشخص جایگزین انجام می شود و بقیه مقادیر بعد از جایگزین شده ها وارد و به لیست اضافه می شوند.

به مثال زیر دقت کنید

 

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

 

تغییر محدوده ای از آیتم های لیست (List) در پایتون (Python)

 

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

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

 

thislist = ["apple", "banana", "cherry"]
thislist[1:3] = ["watermelon"]
print(thislist)

 

تغییر محدوده ای از آیتم های لیست (List) در پایتون (Python)

 

درج آیتم

برای درج یک آیتم جدید در لیست بدون جایگزینی با آیتم های موجود در لیست می توانید از تابع insert() استفاده کنید.

متد insert() یک آیتم را در ایندکس مشخص شده در لیست قرار می دهد.

در مثال زیر مقدار “watermelon” به عنوان آیتم شماره 3 در لیست درج می شود.

 

thislist = ["apple", "banana", "cherry"]
thislist.insert(2, "watermelon")
print(thislist)

 

درج آیتم در لیست (List) در پایتون (Python)

 

اضافه کردن به لیست در پایتون (Python)

در این قسمت می خواهیم متدهایی که برای اضافه کردن آیتم به یک لیست استفاده می شوند را به شما معرفی کنیم.

متد append

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

 

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

 

متد ()append در پایتون (Python)

 

متد insert

در بالا این متد را توضیح دادیم ک این متد برای اضافه کردن یک آیتم جدید با ایندکس مشخص شده استفاده می شود.

در مثال زیر یک متد جدید به عنوان دومین آیتم لیست اضافه می شود.

 

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

 

متد ()insert در پایتون (Python)

 

نکته : دقت کنید که در مثال بالا لیست اکنون شامل 4 آیتم می باشد .

متد extend

برای افزودن یک لیست به لیست دیگر از متد extend() استفاده کنید.

در مثال زیر تمام آیتم های لیست tropical به انتهای لیست thislist اضافه می شوند.

 

thislist = ["apple", "banana", "cherry"]
tropical = ["mango", "pineapple", "papaya"]
thislist.extend(tropical)
print(thislist)

 

متد ()extend در پایتون (Python)

 

در متد extend() نیاز نیست که حتما برای اضافه کردن از لیست ها استفاده کنید، شما در اصل می توانید هر شی قابل پیمایش (tuple, set, dictionary) را به لیست خود اضافه کنید.

در مثال زیر یک متغیر از نوع tuple به انتهای یک لیست اضافه شده است.

 

thislist = ["apple", "banana", "cherry"]
thistuple = ("kiwi", "orange")
thislist.extend(thistuple)
print(thislist)

 

متد ()extend در پایتون (Python)

 

حذف کردن آیتم های لیست در پایتون (Python)

در این قسمت می خواهیم متدهایی که برای حذف کردن آیتم از یک لیست استفاده می شوند را به شما معرفی کنیم.

متد remove

این متد آیتم مشخص شده را از لیست حذف می کند.

در مثال زیر آیتم “banana” را از لیست حذف می کند.

 

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

 

متد ()remove در پایتون (Python)

 

متد pop

این متد ایندکس مشخص شده را از لیست حذف می کند.

در مثال زیر آیتم دوم را از لیست حذف می کند.

 

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

 

متد ()pop در پایتون (Python)

 

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

در مثال زیر آخرین آیتم لیست حذف خواهد شد.

 

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

 

متد ()pop در پایتون (Python)

 

کلمه کلیدی del

کلمه کلیدی del نیز باعث حذف ایندکس مشخص شده در لیست می شود.

در مثال زیر اولین آیتم لیست حذف شده است.

 

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

 

کلمه کلیدی del در پایتون (Python)

 

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

در مثال زیر کل لیست حذف شده است.

 

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

 

کلمه کلیدی del در پایتون (Python)

 

متد clear

این متد باعث خالی شدن لیست می شود.

در این متد فقط محتوای لیست حذف می شوند ولی خود لیست همچنان وجود دارد.

 

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

 

متد ()clear در پایتون (Python)

 

پیمایش لیست ها با حلقه ها در پایتون (Python)

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

حلقه for

در مثال زیر با استفاده از حلقه for همه آیتم های لیست در خروجی چاپ می شوند

 

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

 

پیمایش لیست ها (Lists) با حلقه for در پایتون (Python)

 

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

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

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

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

 

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

 

پیمایش لیست ها (Lists) با حلقه for در پایتون (Python)

 

در مثال بالا لیست قابل پیمایش ایجاد شده [0, 1, 2] است.

حلقه while

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

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

به یاد داشته باشید بعد از هر بار تکرار شماره ایندکس را یکی افزایش دهید.

در مثال زیر از حلقه while برای پیمایش لیست استفاده کرده ایم، متغیر i را تعریف کردیم و با 0 مقدار دهی کردیم که پیمایش از ایندکس اولین آیتم (ایندکس شماره 0) شروع شود و بعد از هر بار تکرار شماره ایندکس (متغیر i) یکی افزایش می یابد.

 

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

 

پیمایش لیست ها (Lists) با حلقه while در پایتون (Python)

 

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

جستجو و پیمایش یک لیست با استفاده از list Comperhension

List Comperhension کوتاه ترین راه برای پیمایش و جستجوی لیست ها را ارائه می دهد.

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

 

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

 

جستجو و پیمایش یک لیست با استفاده از list Comperhension در پایتون (Python)

 

در ادامه بیشتر با روش list comprehension آشنا می شوید.

روش List Comperhension در پایتون (Python)

وقتی شما می خواهید یک لیست جدید بر اساس یک لیست موجود ایجاد کنید، list Comperhension یک روش کوتاه تر به شما ارائه می دهد.

مثال: شما می خواهید بر اساس لیست fruits یک لیست جدید ایجاد کنید که فقط آیتم هایی ک شامل حرف “a” باشند انتخاب شوند و در لیست جدید قرار گیرند.

بدون روش list Comperhension شما باید یک حلقه for با یک عبارت شرطی در داخل حلقه بنویسید.

 

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []
for x in fruits:
  if "a" in x:
    newlist.append(x)
print(newlist)

 

روش List Comperhension در پایتون (Python)

 

ولی وقتی شما از روش list Comperhension استفاده کنید می توانید این کار را در یک خط کد خلاصه کنید.

 

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [x for x in fruits if "a" in x]
print(newlist)

 

روش List Comperhension در پایتون (Python)

 

سینتکس list Comperhension

 

newlist = [expression for item in iterable if condition == True]

 

در این روش مقدار برگشتی یک لیست جدید است و لیست قدیمی بدون تغییر باقی خواهد ماند.

شرط در list Comperhension

مقادیر تنها در صورتی برگشت داده می شوند که مقدار شرط true باشد.

در مثال زیر تمام مقادیر به جز “apple” در یک لیست جدید برگشت داده می شوند و لیست قدیمی بدون تغییر باقی می ماند.

 

newlist = [x for x in fruits if x != "apple"]

 

شرط در list Comperhension در پایتون (Python)

 

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

در مثال زیر همان مثال بالا را بدون شرط برای شما آورده ایم.

 

newlist = [x for x in fruits]

 

شرط در list Comperhension در پایتون (Python)

 

مقادیر قابل پیمایش در روش list Comperhension

مقادیر قابل پیمایش می تواند شامل هر شی قابل پیمایشی باشد، مانند : لیست ها ، tuple ها، set ها و غیره.

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

در مثال زیر سه از تابع range(10) استفاده شده و لیست 0 تا 10 را در خروجی چاپ کرده است.

 

newlist = [x for x in range(10)]

 

مقادیر قابل پیمایش در روش list Comperhension در پایتون (Python)

 

یک مثال مشابه ای بار با یک عبارت شرطی :

در این مثال فقط اعدادی به لیست اضافه می شوند که کوچکتر از عدد 5 باشند.

 

newlist = [x for x in range(10) if x < 5]

 

مقادیر قابل پیمایش در روش list Comperhension در پایتون (Python)

 

عبارت(experssion) در روش list Comperhension

experssion همان آیتم فعلی در لیست قابل پیمایش است اما قبل از ورود مقدار به لیست می توانید آن را تغییر بدهید.

در مثال زیر آیتم ها قبل از اضافه شدن به لیست جدید به حروف بزرگ تبدیل می شوند .

 

newlist = [x.upper() for x in fruits]

 

عبارت(experssion) در روش list Comperhension در پایتون (Python)

 

می توانید نتیجه را هر طور که دوست دارید و مد نظر شماست تغییر دهید و بعد به لیست جدید اضافه کنید.

در مثال زیر تمام مقادیر به مقدار “hello” تبدیل می شوند و بعد به لیست جدید اضافه می شوند.

 

newlist = ['hello' for x in fruits]

 

عبارت(experssion) در روش list Comperhension در پایتون (Python)

 

Expression می تواند شامل شرایطی باشد، اما نه مانند شرایط فیلتر کردن مقدار، بلکه به عنوان تغییر دهنده مقدار برای اضافه کردن به لیست.

در مثال زیر به جای مقدار “banana” مقدار “orange” را در لیست جدید قرار می دهد.

 

newlist = [x if x != "banana" else "orange" for x in fruits]

 

عبارت(experssion) در روش list Comperhension در پایتون (Python)

 

در عبارت بالا می گوید که "اگر مقدار فعلی کلمه “banana” نیست که هیچی، اما اگر “banana” است آن را به “orange” تغییر بده".

مرتب کردن لیست ها در پایتون (Python)

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

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

مرتب سازی لیست از نظر عددی

لیست ها دارای متدی به نام sort() هستند که مقادیر لیست را از نظر عددی  به صورت صعودی مرتب سازی می کنند.

در مثال زیر لیست بر اساس حروف الفبا مرتب می شوند.

 

thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)

 

مرتب سازی لیست (List) از نظر حروف الفبا در پایتون (Python)

 

در مثال زیر لیست بر اساس عددی مرتب می شوند.

 

thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)

 

مرتب سازی لیست (List) از نظر عددی در پایتون (Python)

 

مرتب سازی نزولی

برای مرتب سازی نزولی در تابع sort() از آرگومان کلمه کلیدی reverse با مقدار true استفاده می کنیم.

مرتب سازی نزولی بر اساس حروف الفبا

 

thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)

 

مرتب سازی نزولی در پایتون (Python)

 

مرتب سازی نزولی بر اساس مقادیرعددی

 

thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)

 

مرتب سازی نزولی در پایتون (Python)

 

تابع سفارشی کردن مرتب سازی

شما همچنین می توانید مرتب سازی را بر اساس تابع مورد نظر خودتون با استفاده از آرگومان کلمه کلیدی key و با مقدار نام تابع، انجام دهید.

این تابع شماره ای را برای مرتب سازی لیست (از کمترین عدد) استفاده می کند.

در مثال زیر لیست را بر اساس نزدیک بودن به عدد 50 مرتب می کند.

 

def myfunc(n):
  return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key = myfunc)
print(thislist)

 

تابع سفارشی کردن مرتب سازی در پایتون (Python)

 

مرتب سازی بر اساس حساس نبودن به حروف بزرگ و کوچک

به طور پیش فرض متد sort() به حروف بزرگ و کوچک حساس است و حروف بزرگ قبل از حروف کوچک قرار می گیرند.

مرتب سازی بر اساس حساس بودن به حروف بزرگ و کوچک می تواند نتایج غیر منتظره ای داشته باشد.

به مثال زیر دقت کنید.

 

thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)

 

مرتب سازی بر اساس حساس بودن به حروف بزرگ و کوچک در پایتون (Python)

 

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

بنابراین اگر بخواهیم مرتب سازی را بر اساس حساس نبودن به حروف بزرگ و کوچک انجام دهیم، می توانیم از تابع کلیدی str.lower به عنوان تابع کلیدی استفاده کنیم.

 

thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key = str.lower)
print(thislist)

 

مرتب سازی بر اساس حساس نبودن به حروف بزرگ و کوچک در پایتون (Python)

 

معکوس کردن ترتیب لیست

اگر بخواهید ترتیب یک لیست را بدون در نظر گرفتن حروف الفبا معکوس کنید، چه می کنید؟

متد reverse() ترتیب فعلی لیست را معکوس می کند.

در مثال زیر ترتیب آیتم های لیست معکوس می شوند.

 

thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)

 

معکوس کردن ترتیب لیست در پایتون (Python)

 

کپی کردن لیست در پایتون (Python)

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

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

 

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

 

کپی کردن لیست (List) در پایتون (Python)

 

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

 

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

 

کپی کردن لیست (List) در پایتون (Python)

 

ادغام لیست ها در پایتون (Python)

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

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

 

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

 

ادغام لیست ها (Lists) در پایتون (Python)

 

روش دوم اضافه کردن تک تک آیتم های لیست اول به لیست دوم است.

در مثال زیر با استفاده از حلقه for و متد append() تمام آیتم های لیست 2 به لیست 1 اضافه می شوند.

 

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

 

ادغام لیست ها (Lists) در پایتون (Python)

 

یا می توانید از متد extend() استفاده کنید. هدف این است که آیتم های یک لیست به لیست دیگر اضافه شوند.

در مثال زیر با متد extend() آیتم های لیست 2 به انتهای لیست 1 اضافه می شوند.

 

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

 

ادغام لیست ها (Lists) در پایتون (Python)

 

متد های لیست در پایتون (Python)

در جدول زیر به طور خلاصه کارکرد همه متد های مورد استفاده در لیست ها را که در بالا تک تک آن ها را توضیح دادیم، برای شما آورده ایم.

 

متدهای لیست (List) در پایتون (Python)
متد توضیحات
Append() آیتم ها را به انتهای لیست اضافه می کند
Clear() تمام آیتم های لیست را حذف می کند
Copy() یک کپی از لیست مورد نظر برگشت می دهد
Count() تعدادی عناصر را با مقدار مشخص برمیگرداند
Extend() اضافه کردن آیتم هایی از یک لیست (هر شی قابل پیمایش) به انتهای لیست فعلی
Index() ایندکس عنصر اول را با مقدار مشخص شده برمیگرداند
Insert() یک آیتم را در ایندکس مشخص شده در لیست اضافه می کند
Pop() آیتم با ایندکس مشخص شده را از لیست حذف می کند
Remove() آیتم با مقدار مشخص شده را حذف می کند
Reverse() ترتیب لیست را معکوس می کند
Sort() لیست را مرتب می کند.

 

در این مقاله به صورت مفصل لیست ها را به شما معرفی کردیم، در مقاله بعدی در مورد tuple ها بحث خواهیم کرد.

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


پرسش و پاسخ
0
دوره پیشنهادی
دوره پیشنهادی