آموزش

لیست در پایتون چیست؟ آموزش ساخت و مدیریت List با مثال

جلسه ۱۷ آموزش پایتون: لیست‌ها و مدیریت مجموعه‌ای از داده‌ها در جلسه گذشته به آموزش حلقه در پایتون پرداختیم. در ادامه مباحث آموزش پایتون در قسمت 17 لیست در پایتون را فرا می گیریم. با خبرICT همراه باشید. تحقیق و تدوین مهدی گمرکی فرض کنید می‌خواهیم نام ۵ دانشجو ر…

7 دقیقه مطالعه
  • پشتیبانی شبکه
  • لیست
  • fruits
  • Banana
  • Orange
  • Apple
  • کنیم
  • print

خلاصه تحلیلی خبر

جلسه ۱۷ آموزش پایتون: لیست‌ها و مدیریت مجموعه‌ای از داده‌ها در جلسه گذشته به آموزش حلقه در پایتون پرداختیم. در ادامه مباحث آموزش پایتون در قسمت 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 با مثالاولین بار درپایگاه خبری ارتباطات و فناوری اطلاعات. پدیدار شد.

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