📚 آموزش لیست در پایتون
دوره برنامهنویسی مقدماتی
📦 لیست چیست؟
لیست یک نوع ظرف ذخیره داده است. در لیست به جای یک عدد، میتوان چند عدد یا چیز دیگر ذخیره کرد.
یک لیست اینطوری تعریف میشود:
my_list = [10, 20, 30, 40, 50] print(my_list)
🔄 حلقه روی لیست
میشه یه لیست رو داخل یه حلقه for انداخت؛ یعنی چی؟ مثال رو ببینید:
اینجا به جای range از لیست استفاده کردیم. دستور for اینجا یکی یکی روی لیست، متغیر k رو جلو میبره!
my_list = [10, 20, 30, 40, 50] for k in my_list: print(k)
📏 طول لیست
به تعداد اعضای لیست، طول لیست میگویند.
از دستور len() برای سنجش طول لیست استفاده میکنیم.
درون پرانتز باید اسم لیست را بنویسیم.
طول لیست تهی صفر است چون هیچ عضوی ندارد!
my_list = [10, 20, 30] print(len(my_list)) # خروجی: ۳ empty_list = [] print(len(empty_list)) # خروجی: ۰
➕ دستور sum
یه دستوری به اسم sum() تو پایتون داریم که مجموع اعداد لیست رو به ما میده.
numbers = [10, 20, 30, 40, 50] total = sum(numbers) print(total) # خروجی: ۱۵۰
📭 لیست تهی (خالی)
لیست S خالی است و هیچ عضوی ندارد.
معمولاً لیست خالی در ابتدای مسئله ساخته شده و به آن اعضای لازم اضافه میشوند.
my_list = [] # لیست خالی print(len(my_list)) # خروجی: ۰
✏️ بروزرسانی یک عنصر لیست
بروزرسانی یک خانه (عنصر یا المنت) از لیست به این ترتیب است:
my_list = [10, 20, 30, 40] my_list[1] = 99 # خانه شماره ۱ (۲۰) به ۹۹ تغییر کرد print(my_list) # خروجی: [۱۰, ۹۹, ۳۰, ۴۰]
➕ افزودن عضو به انتهای لیست
با دستور append به شیوه روبرو میتوان یک عضو اضافه کرد.
my_list = [10, 20, 30] my_list.append(40) print(my_list) # خروجی: [۱۰, ۲۰, ۳۰, ۴۰]
🗑️ حذف یک خانه از لیست با pop
با دستور pop میتونیم یک خونه مشخص رو حذف کنیم.
my_list = [5, 10, 15, 20] my_list.pop(0) # حذف خانه صفرم (۵) print(my_list) # خروجی: [۱۰, ۱۵, ۲۰] my_list.pop(1) # حذف خانه شماره ۱ (۱۵) print(my_list) # خروجی: [۱۰, ۲۰]
🗑️ حذف یک عضو از لیست با remove
با دستور remove میتونیم یک عضو مشخص رو حذف کنیم. مثلاً اولین ۵ (سمت چپترین) حذف میشود.
my_list = [5, 10, 5, 20] my_list.remove(5) # حذف اولین ۵ print(my_list) # خروجی: [۱۰, ۵, ۲۰]
🔍 پیدا کردن بزرگترین عضو لیست
روش اول: با حلقه و شرط
- اول فرض میکنیم اولین عضو بزرگترینه!
- بعد اون رو به ترتیب با همه عضوها قیاس میکنیم.
- اگر اون عضوها بزرگتر از بزرگترین عدد فعلی باشند، بزرگترین عدد بروزرسانی میشه!
my_list = [10, 7, 240, 11, -12, 3400, 13] maximum = my_list[0] # فرض میکنیم اولین عضو بزرگترینه for k in my_list: if maximum < k: maximum = k print("بزرگترین عدد:", maximum) # خروجی: ۳۴۰۰
روش دوم: با دستور آماده max()
my_list = [10, 7, 240, 11, -12, 3400, 13] print(max(my_list)) # خروجی: ۳۴۰۰
🔍 پیدا کردن کوچکترین عضو لیست
روش اول: با حلقه و شرط
- اول فرض میکنیم اولین عضو کوچکترینه!
- بعد اون رو به ترتیب با همه عضوها قیاس میکنیم.
- اگر اون عضوها کوچکتر از کوچکترین عدد فعلی باشند، کوچکترین عدد بروزرسانی میشه!
my_list = [10, 7, 240, 11, -12, 3400, 13] minimum = my_list[0] # فرض میکنیم اولین عضو کوچکترینه for k in my_list: if k < minimum: minimum = k print("کوچکترین عدد:", minimum) # خروجی: -۱۲
روش دوم: با دستور آماده min()
my_list = [10, 7, 240, 11, -12, 3400, 13] print(min(my_list)) # خروجی: -۱۲
🔢 تعداد تکرار یک عضو در لیست
روش اول: با حلقه و شرط
- میخواهیم تعداد یک چیز را در لیست پیدا کنیم!
- به ازای تک تک اعضای لیست چک میکنیم که آیا آن عضو با آن چیز یکی است یا خیر
- اگر یکی بودند، به تعداد چیز یک واحد اضافه میکنیم.
my_list = [1, 4, 8, 4, 2] chiz = 4 # عضوی که میخواهیم تعدادش را پیدا کنیم tedad_chiz = 0 for k in my_list: if k == chiz: tedad_chiz = tedad_chiz + 1 print("تعداد ۴:", tedad_chiz) # خروجی: ۲
روش دوم: با دستور آماده .count()
my_list = [1, 4, 8, 4, 2] print(my_list.count(4)) # خروجی: ۲
🎯 پروژههای کاربردی
در این بخش، ۵ پروژه جذاب و کاربردی برای سنین ۱۰ تا ۱۵ سال طراحی شده است. هر پروژه شامل خروجی و کد کامل با توضیح تو رفتگیها میباشد.
🏆 پروژه ۱: میانگین نمرات دانشآموزان
یک لیست از نمرات دانشآموزان داریم. میخواهیم میانگین، بزرگترین و کوچکترین نمره را پیدا کنیم.
نمرات: [۱۸, ۱۵, ۲۰, ۱۴, ۱۷, ۱۹, ۱۶]
میانگین: ۱۷٫۰
بالاترین نمره: ۲۰
پایینترین نمره: ۱۴
# پروژه ۱: میانگین نمرات دانشآموزان grades = [18, 15, 20, 14, 17, 19, 16] # محاسبه میانگین total = sum(grades) average = total / len(grades) # پیدا کردن بزرگترین و کوچکترین max_grade = max(grades) min_grade = min(grades) print("نمرات:", grades) print("میانگین:", average) print("بالاترین نمره:", max_grade) print("پایینترین نمره:", min_grade)
📝 توضیح خط به خط کد و تو رفتگیها:
- خط ۱ (بدون تو رفتگی): # پروژه ۱: میانگین نمرات دانشآموزان — کامنت (توضیح)
- خط ۲ (بدون تو رفتگی): grades = [18, 15, 20, 14, 17, 19, 16] — تعریف لیست نمرات
- خط ۴ (بدون تو رفتگی): # محاسبه میانگین — کامنت
- خط ۵ (بدون تو رفتگی): total = sum(grades) — مجموع نمرات با دستور sum
- خط ۶ (بدون تو رفتگی): average = total / len(grades) — محاسبه میانگین با تقسیم مجموع بر تعداد
- خط ۸ (بدون تو رفتگی): # پیدا کردن بزرگترین و کوچکترین — کامنت
- خط ۹ (بدون تو رفتگی): max_grade = max(grades) — پیدا کردن بزرگترین با max()
- خط ۱۰ (بدون تو رفتگی): min_grade = min(grades) — پیدا کردن کوچکترین با min()
- خط ۱۲ تا ۱۵ (بدون تو رفتگی): دستورات print برای نمایش نتایج
✅ تو رفتگیها: تمام خطوط کد در سطح اول (بدون تو رفتگی) نوشته شدهاند زیرا هیچ حلقه یا شرطی در این کد وجود ندارد.
🎮 پروژه ۲: جمعآوری امتیازات بازی
در یک بازی، امتیازات هر مرحله در یک لیست ذخیره میشود. میخواهیم مجموع امتیازات، میانگین و تعداد مراحلی که امتیاز بالای ۱۰۰ دارند را پیدا کنیم.
امتیازات مراحل: [۸۵, ۱۲۰, ۹۵, ۱۵۰, ۱۱۰, ۷۵, ۱۳۰, ۹۰]
مجموع امتیازات: ۸۵۵
میانگین امتیازات: ۱۰۶٫۸۷۵
تعداد مراحل با امتیاز بالای ۱۰۰: ۴
# پروژه ۲: جمعآوری امتیازات بازی
scores = [85, 120, 95, 150, 110, 75, 130, 90]# محاسبه مجموع و میانگین
total_score = sum(scores)
average_score = total_score / len(scores)# شمارش مراحل با امتیاز بالای ۱۰۰
high_scores = 0
for score in scores:
if score > 100:
high_scores = high_scores + 1print("امتیازات مراحل:", scores)
print("مجموع امتیازات:", total_score)
