نوع داده‌ای لیست در پایتون

منتشر شده در دسته : زبان برنامه نویسی پایتون

نوع داده ای لیست چیست ؟ لیست به مجموعه‌ای داده‌ ای اشاره دارد که به صورت عادی به هم مرتبط اند . به جای ذخیره این داده‌ها به عنوان متغیرهای جداگانه ما می‌توانیم آن‌ها در یک لیست ذخیره کنیم . برای نمونه فرض کنید برنامه ما نیاز دارد که سن ۵ کاربر را ذخیره کند . به جای ذخیره سازی آن‌ها در پنج متغیر با نام های userAge1 تا userAge5 می‌توانیم آن‌ها را در قالب یک لیست ذخیره کنیم .

نوع داده ای لیست

به منظور اعلان یک لیست از نوع داده ای لیست از ساختار دستوری زیر استفاده می‌کنیم :

listName = [initial values]

به یاد داشته باشید که به منظور اعلان یک نوع داده ای لیست در پایتون از براکت [] استفاده می‌کنیم . همچنین مقادیر لیست را با علامت کاما , از هم جدا می‌کنیم .

مثال :

userAge = [21, 22, 23, 24, 25]

ما همچنین می‌توانیم یک لیست را بدون تعیین هیچ مقدار اولیه‌ای اعلان کنیم . به این منظور به سادگی می نویسیم :

listName = []

اکنون چیزی که ما داریم این است که یک لیست خالی بدون هیچ مقدار تعیین شده‌ای داریم . به منظور اضافه کردن مقادیر به لیست بایستی از تابع append استفاده کنیم که در زیر توضیح خواهیم داد . مقادیر تکی درون لیست توسط مقادیر ایندکس قابل دسترسی هستند . دقت کنید که ایندکس ها از مقدار صفر آغاز می‌شود نه از مقدار ۱ که این شیوه در اکثر زبان‌های برنامه نویسی رایج است مثل زبان C و یا Java
از آنجایی که اولین مقدار ایندکس صفر است مقدار دوم ۱ می‌باشد و الی آخر . مثلاً :

userAge [0] = 21

userAge [1] = 22

به صورت جایگزین شما می‌توانید مقادیر یک لیست را از آخر فراخوانی کنید . آخرین آیتم موجود در لیست ما ایندکس 1- و دومین آیتم از آخر ایندکس 2- را دارد . چگونه ؟ به صورت زیر:

userAge [-1] = 25

userAge [-2] = 24

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

userAge2 = userAge

متغیر userAge2 می‌شود :

userAge = [21, 22, 23, 24, 25]

اگر که شما بنویسید :

userAge3 = userAge [2:4]

شما آیتم های دارای ایندکس ۲ را تا ایندکس ۱-۴ از لیست userAge برداشته و به userAge3 اختصاص می‌دهیم . یعنی از ایندکس ۲ تا ۳ که می‌شود :

userAge3 = [23, 24]

این نوع علامت گذاری 2:4 را slice یا برش می نامند . اگر از شیوه علامت گذاری برش در پایتون استفاده کنیم ، آیتم در ایندکس آغازین همیشه در لیست ما شامل می‌شود ولی آیتم آخرین همیشه از لیست حذف می‌شود . به همین دلیل است که نتیجه 2:4 به صورت زیر می‌شود :

userAge3 = [23, 24]

نه به صورت زیر :

user Age3 = [23, 24, 25]

نشانه گذاری slice دارای عدد سومی با نام Stepper می‌باشد . اگر که بنویسیم :

userAge4 = userAge[1:5:2]

در اینجا کاری که استپر انجام می‌دهد این است که هر زیر لیست شامل هر شماره دومی را از ایندکس ۱ تا ۴ به ما می‌دهد . در اینجا برای ما چونکه استپر عدد ۲ می‌باشد نتیجه می‌شود :

userAge4 = [22, 24]

علاوه براین نشانه گذاری اسلایس دارای مقادیر پیش‌فرض (Defaults) می باشد . مقدار پیش‌فرض برای اولین عدد صفر می‌باشد و مقدار پیش‌فرض برای عدد دوم اندازه برش داده شده لیست می‌باشد ! به مثال زیر توجه کنید واضح بیان شده است :

userAge [ :4 ]

در مثال بالا عدد اول آورده نشده و به جای آن مقدار پیش‌فرض یعنی صفر در نظر گرفته می‌شود یعنی اینکه از ایندکس صفر تا ایندکس ۱-۴ را به شما می‌دهد .
مثال دوم :

userAge[1: ]

در مثال بالا عدم دوم آورده نشده است در نتیجه اندازه برش داده شده لیست در نظر گرفته می‌شود . اندازه اسلایس لیست ۱-۵ می‌باشد . (چرا که اندازه userAge ۵ می‌باشد و دارای پنج آیتم می باشد) . پس مثال بالا از ایندکس ۱ تا ایندکس ۱-۵ یعنی ۱ تا ۴ را به ما می‌دهد .
برای ویرایش و تغییر ایتم ها در یک لیست می نویسیم :

listName = [indexes] = مقدار جدید

برای نمونه اگر بخواهیم که آیتم دوم را ویرایش کنیم به سادگی می نویسیم :

userAge [1] = 5

که در نتیجه عبارت بالا لیست شما به صورت زیر تغییر پیدا می‌کند :

userAge = [21, 5, 23, 24, 25]

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

userAge.append(99)

شما در حقیقت مقدار ۹۹ را به پایان لیست اضافه کرده‌اید . اکنون لیست شما به صورت زیر تغییر یافته است :

userAge = [21, 5, 23, 24, 25, 99]

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

del listName [ایندکس آیتم هایی که می‌خواهیم از لیست حذف کنیم ]

برای مثال اگر بنویسیم :

del userAge[2]

لیست به صورت زیر تغییر خواهد کرد (مقدار سومی با ایندکس ۲ حذف می شود )

userAge = [21, 5, 24, 25, 99]

برای اینکه در مبحث  نوع داده ای لیست  خبره شوید برنامه زیر را اجرا کنید و به خروجی ها و نتایج بدست آمده دقت کنید :

#declaring the list, list elements can be of different data types

myList = [1, 2, 3, 4, 5, “Hello”]

#print the entire list.

print(myList)

#You’ll get [1, 2, 3, 4, 5, “Hello”]

#print the third item (recall: Index starts from zero).

print(myList[2])

#You’ll get 3

#print the last item.

print(myList[-1])

#You’ll get “Hello”

#assign myList (from index 1 to 4) to myList2 and print myList2

myList2 = myList[1:5]

print (myList2)

#You’ll get [2, 3, 4, 5]

#modify the second item in myList and print the updated list

myList[1] = 20

print(myList)

#You’ll get [1, 20, 3, 4, 5, ‘Hello’]

#append a new item to myList and print the updated list

myList.append(“How are you”)

print(myList)

#You’ll get [1, 20, 3, 4, 5, ‘Hello’, ‘How are you’]

#remove the sixth item from myList and print the updated list

del myList[5]

print(myList)

#You’ll get [1, 20, 3, 4, 5, ‘How are you’]

صاحب امتیاز نت آموز : نویسنده , مدرس و متخصص در زمینه امنیت شبکه های رایانه ای

یک دیدگاه

نظرات غیرمرتبط با محتوای این مطلب تایید نخواهند شد.

پاسخ دهید

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