لیست در پایتون چیست؟ آموزش ساخت و مدیریت List با مثال
جلسه ۱۷ آموزش پایتون: لیستها و مدیریت مجموعهای از دادهها در جلسه گذشته به آموزش حلقه در پایتون پرداختیم. در ادامه مباحث آموزش پایتون در قسمت 17 لیست در پایتون را فرا می گیریم. با خبرICT همراه باشید. تحقیق و تدوین مهدی گمرکی فرض کنید میخواهیم نام ۵ دانشجو ر…
خلاصه تحلیلی خبر
جلسه ۱۷ آموزش پایتون: لیستها و مدیریت مجموعهای از دادهها در جلسه گذشته به آموزش حلقه در پایتون پرداختیم. در ادامه مباحث آموزش پایتون در قسمت 17 لیست در پایتون را فرا می گیریم. با خبرICT همراه باشید. تحقیق و تدوین مهدی گمرکی فرض کنید میخواهیم نام ۵ دانشجو ر…
موضوعات اصلی: پشتیبانی شبکه، لیست، fruits، Banana، Orange، Apple
جلسه ۱۷ آموزش پایتون: لیستها و مدیریت مجموعهای از دادهها
در جلسه گذشته به آموزشحلقه در پایتونپرداختیم. در ادامه مباحث آموزش پایتون در قسمت 17 لیست در پایتون را فرا می گیریم. باخبرICTهمراه باشید.
تحقیق و تدوینمهدی گمرکی
فرض کنید میخواهیم نام ۵ دانشجو را در برنامه خود ذخیره کنیم.
یک راه این است که برای هر دانشجو یک متغیر جداگانه ایجاد کنیم
student1 = "Ali" student2 = "Sara" student3 = "Reza" student4 = "Mina" student5 = "Nima"اما اگر تعداد دانشجوها به ۱۰۰ یا ۱۰۰۰ نفر برسد چه؟
این روش دیگر منطقی نیست.
اینجاست کهلیست در پایتونبه کمک ما میآید.
به جای ساختن متغیرهای متعدد، میتوانیم چندین مقدار را در یک ساختار واحد ذخیره کنیم
students =["Ali", "Sara", "Reza", "Mina", "Nima"]حالا تمام نامها در یک لیست قرار دارند و میتوانیم بهسادگی آنها را مدیریت کنیم.
لیست در پایتون چیست؟
لیست یاListیکی از پرکاربردترین ساختارهای داده در پایتون است که برای ذخیره چند مقدار در یک متغیر استفاده میشود.
لیستها با استفاده از براکت مربع[]ساخته میشوند
fruits =["Apple", "Banana", "Orange"]در این مثال، سه مقدار داخل لیستfruitsقرار گرفتهاند.
لیست میتواند شامل انواع مختلفی از دادهها باشد
numbers =[10, 20, 30, 40]names =["Ali", "Sara", "Reza"]mixed =["Python", 10, True, 3.14]البته در پروژههای واقعی بهتر است تا حد امکان ساختار دادهها منظم و قابل پیشبینی باشد.
دسترسی به اعضای لیست
هر عضو لیست یک موقعیت یاIndexدارد.
نکته بسیار مهم
شمارهگذاری اعضای لیست در پایتون از صفر شروع میشود.
مثلاً
fruits =["Apple", "Banana", "Orange"]اندیسها به این شکل هستند
Apple → 0 Banana → 1 Orange → 2برای دسترسی به اولین عضو
print(fruits[0])خروجی
Appleبرای دسترسی به دومین عضو
print(fruits[1])خروجی
Bananaیک اشتباه رایج: فراموش کردن اینکه اندیس از صفر شروع میشود
اگر این لیست را داشته باشیم
numbers =[10, 20, 30, 40]اولین عضوnumbers[0]است، نهnumbers[1].
بنابراین
print(numbers[0])خروجی
10و
print(numbers[1])خروجی
20این نکته ساده، یکی از اولین مواردی است که هنگام کار با لیستها باید به آن توجه کنیم.
تغییر مقدار یک عضو لیست
یکی از ویژگیهای مهم لیست این است که میتوانیم مقدار اعضای آن را تغییر دهیم.
مثلاً
fruits =["Apple", "Banana", "Orange"]fruits[1]= "Mango" print(fruits)خروجی
['Apple', 'Mango', 'Orange']در این مثال، مقدارBananaباMangoجایگزین شده است.
اضافه کردن عضو به لیست با append()
برای اضافه کردن یک عضو جدید به انتهای لیست، میتوانیم از متدappend()استفاده کنیم.
fruits =["Apple", "Banana"]fruits.append("Orange") print(fruits)خروجی
['Apple', 'Banana', 'Orange']هر بار کهappend()را اجرا میکنیم، مقدار جدید به انتهای لیست اضافه میشود.
اضافه کردن چند عضو با extend()
اگر بخواهیم چند مقدار را به لیست اضافه کنیمextend()کاربرد دارد.
fruits =["Apple", "Banana"]fruits.extend(["Orange", "Mango"]) print(fruits)خروجی
['Apple', 'Banana', 'Orange', 'Mango']تفاوت مهم
append()یک عضو را به لیست اضافه میکند.
اما
extend()اعضای یک مجموعه دیگر را به لیست اضافه میکند.
اضافه کردن عضو در موقعیت مشخص با insert()
گاهی نمیخواهیم مقدار جدید به انتهای لیست اضافه شود.
میتوانیم مشخص کنیم مقدار جدید در چه اندیسی قرار بگیرد.
fruits =["Apple", "Orange"]fruits.insert(1, "Banana") print(fruits)خروجی
['Apple', 'Banana', 'Orange']در اینجاBananaدر موقعیت شماره1قرار گرفته است.
حذف عضو از لیست با remove()
اگر بخواهیم یک مقدار مشخص را حذف کنیم، میتوانیم ازremove()استفاده کنیم
fruits =["Apple", "Banana", "Orange"]fruits.remove("Banana") print(fruits)خروجی
['Apple', 'Orange']نکته: اگر مقدار موردنظر در لیست وجود نداشته باشدremove()خطا ایجاد میکند.
حذف عضو با pop()
متدpop()نیز برای حذف عضو استفاده میشود.
اگر بدون مشخص کردن اندیس استفاده شود، آخرین عضو لیست حذف میشود
fruits =["Apple", "Banana", "Orange"]fruits.pop() print(fruits)خروجی
['Apple', 'Banana']اما میتوانیم اندیس موردنظر را نیز مشخص کنیم
fruits =["Apple", "Banana", "Orange"]fruits.pop(1) print(fruits)خروجی
['Apple', 'Orange']پیدا کردن تعداد اعضای لیست با len()
برای اینکه بدانیم یک لیست چند عضو دارد، از تابعlen()استفاده میکنیم
fruits =["Apple", "Banana", "Orange"]print(len(fruits))خروجی
3این تابع در برنامههایی که با دادههای پویا کار میکنند بسیار کاربردی است.
بررسی وجود یک مقدار در لیست
با استفاده ازinمیتوانیم بررسی کنیم که آیا یک مقدار در لیست وجود دارد یا خیر.
fruits =["Apple", "Banana", "Orange"]print("Banana" in fruits)خروجی
Trueاما
print("Mango" in fruits)خروجی
Falseاین قابلیت در جستوجو و اعتبارسنجی دادهها کاربرد زیادی دارد.
پیمایش لیست با حلقه for
در جلسه قبل با حلقهforآشنا شدیم.
حالا میتوانیم این دو مفهوم را با هم ترکیب کنیم
students =["Ali", "Sara", "Reza", "Mina"]for student in students: print(student)خروجی
Ali Sara Reza Minaاین یکی از مهمترین کاربردهای لیست وforدر پایتون است.
ترکیب لیست، for و if
قدرت واقعی این ساختار زمانی مشخص میشود که آن را با شرطها ترکیب کنیم.
فرض کنید نمرات چند دانشجو را داریم و میخواهیم فقط نمرات بالاتر از ۱۵ را نمایش دهیم
scores =[12, 18, 9, 16, 20, 14]for score in scores: if score > 15: print(score)خروجی
18 16 20در اینجا از سه مفهوم مهم استفاده کردیم
لیست → نگهداری دادهها
for → پیمایش دادهها
if → تصمیمگیری درباره هر داده
این ترکیب، پایه بسیاری از برنامههای کاربردی است.
مرتب کردن لیست با sort()
برای مرتب کردن یک لیست، میتوانیم ازsort()استفاده کنیم.
مثلاً
numbers =[5, 2, 8, 1, 3]numbers.sort() print(numbers)خروجی
[1, 2, 3, 5, 8]برای مرتبسازی نزولی میتوانیم ازreverse=Trueاستفاده کنیم
numbers =[5, 2, 8, 1, 3]numbers.sort(reverse=True) print(numbers)خروجی
[8, 5, 3, 2, 1]معکوس کردن ترتیب با reverse()
اگر فقط بخواهیم ترتیب فعلی لیست را معکوس کنیم، میتوانیم ازreverse()استفاده کنیم
fruits =["Apple", "Banana", "Orange"]fruits.reverse() print(fruits)خروجی
['Orange', 'Banana', 'Apple']توجه کنید کهreverse()باsort(reverse=True)یکسان نیست.
reverse()ترتیب فعلی را برعکس میکند، اماsort(reverse=True)ابتدا دادهها را مرتب کرده و سپس آنها را به شکل نزولی قرار میدهد.
پاک کردن تمام اعضای لیست با clear()
اگر بخواهیم تمام اعضای یک لیست را حذف کنیم
fruits =["Apple", "Banana", "Orange"]fruits.clear() print(fruits)خروجی
[]لیست همچنان وجود دارد، اما دیگر عضوی داخل آن نیست.
دسترسی به اعضای لیست از انتها
در پایتون میتوانیم از اندیس منفی نیز استفاده کنیم.
مثلاً
fruits =["Apple", "Banana", "Orange"]آخرین عضو
print(fruits[-1])خروجی
Orangeعضو یکی مانده به آخر
print(fruits[-2])خروجی
Bananaاین روش هنگام کار با دادههایی که طول آنها مشخص نیست، بسیار مفید است.
برش دادن لیست یا List Slicing
یکی دیگر از قابلیتهای کاربردی پایتون، گرفتن بخشی از یک لیست است.
numbers =[10, 20, 30, 40, 50]print(numbers[1:4])خروجی
[20, 30, 40]در اینجا از اندیس1شروع کردهایم و تا قبل از اندیس4پیش رفتهایم.
یعنی
شروع → شامل میشود پایان → شامل نمیشودیک مثال کاربردی کامل
فرض کنید قیمت چند محصول را در یک فروشگاه داریم و میخواهیم قیمتهای بیشتر از ۱۰۰ را پیدا کنیم و نمایش دهیم
prices =[80, 150, 220, 95, 310, 120]for price in prices: if price > 100: print("قیمت:", price)خروجی
قیمت: 150 قیمت: 220 قیمت: 310 قیمت: 120این مثال نشان میدهد مفاهیمی که در جلسات گذشته یاد گرفتهایم چگونه کنار یکدیگر قرار میگیرند.
خطاهای رایج هنگام کار با لیستها
۱. استفاده از اندیس خارج از محدوده
اگر داشته باشیم
numbers =[10, 20, 30]این کد خطا ایجاد میکند
print(numbers[3])چون آخرین اندیس این لیست2است.
۲. اشتباه گرفتن remove و pop
remove()بر اساسمقدارحذف میکند
numbers.remove(20)اماpop()بر اساساندیسحذف میکند
numbers.pop(1)۳. اشتباه گرفتن sort و reverse
sort()برای مرتبسازی است.
reverse()برای برعکس کردن ترتیب فعلی است.
شناخت این تفاوتها از خطاهای منطقی در برنامه جلوگیری میکند.
تمرینهای جلسه ۱۷
برای تسلط بیشتر، تمرینهای زیر را انجام دهید.
تمرین ۱
یک لیست شامل نام ۵ شهر ایجاد کنید و باforهمه شهرها را چاپ کنید.
تمرین ۲
یک لیست از اعداد ایجاد کنید و فقط اعداد زوج را نمایش دهید.
تمرین ۳
یک عضو جدید به لیست اضافه کنید و سپس لیست را چاپ کنید.
تمرین ۴
بزرگترین و کوچکترین عدد یک لیست را پیدا کنید.
تمرین ۵
برنامهای بنویسید که بررسی کند یک نام مشخص در لیست وجود دارد یا خیر.
تمرین چالشی
لیستی از نمرات دانشجویان ایجاد کنید.
برنامهای بنویسید که
- تعداد نمرات را نمایش دهد؛
- نمرات بالاتر از ۱۰ را مشخص کند؛
- نمرات کمتر از ۱۰ را مشخص کند؛
- میانگین نمرات را محاسبه کند.
این تمرین، شما را برای ورود به مباحث جدیتر کار با دادهها آماده میکند.
جمعبندی جلسه ۱۷
در این جلسه بالیستها در پایتونآشنا شدیم؛ یکی از مهمترین ساختارهای دادهای که تقریباً در بسیاری از پروژههای پایتونی با آن مواجه خواهیم شد.
یاد گرفتیم چگونه
- یک لیست ایجاد کنیم؛
- به اعضای آن دسترسی داشته باشیم؛
- مقدار یک عضو را تغییر دهیم؛
- با
append()داده اضافه کنیم؛ - با
extend()چند داده اضافه کنیم؛ - با
insert()داده را در موقعیت مشخص قرار دهیم؛ - با
remove()وpop()داده حذف کنیم؛ - تعداد اعضا را با
len()به دست آوریم؛ - وجود یک مقدار را با
inبررسی کنیم؛ - لیست را مرتب و معکوس کنیم؛
- و با
forوifروی دادههای داخل لیست کار کنیم.
در واقع از این جلسه به بعد، برنامههای ما میتوانند به جای کار با چند متغیر جداگانهبا مجموعهای از دادههاکار کنند.
درجلسه ۱۸یک قدم مهمتر برمیداریم و باتاپلها (Tuple) در پایتونآشنا میشویم و تفاوت آنها با لیستها را بررسی میکنیم؛ همچنین میبینیم چه زمانی بهتر است ازListو چه زمانی ازTupleاستفاده کنیم.
تحقیق و تدوینمهدی گمرکی
نوشتهلیست در پایتون چیست؟ آموزش ساخت و مدیریت List با مثالاولین بار درپایگاه خبری ارتباطات و فناوری اطلاعات. پدیدار شد.
برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.