جستجو برای:
  • دوره‌های آموزشی
  • وبلاگ
  • آموزش‌های رایگان
    • آموزش پایتون رایگان
    • آموزش یادگیری ماشین رایگان
    • آموزش یادگیری عمیق رایگان
    • آموزش pytorch رایگان
    • آموزش رایگان matplotlib
    • آموزش گوگل کولب
  • نقشه راه AI
  • کلاس خصوصی
  • همکاری با ما💚
  • حساب کاربری
  • اساتید
  • درباره ما
     
    • 0902-546-9248
    • howsam.mail@gmail.com
    آکادمی هوش مصنوعی هوسم
    • دوره‌های آموزشی
    • آموزش‌های رایگان
      • آموزش پایتون
      • آموزش یادگیری ماشین رایگان
      • آموزش یادگیری عمیق رایگان
      • آموزش pytorch رایگان
      • آموزش گوگل کولب
    • نقشه راه AI
    • وبلاگ
    • درباره ما
      • اساتید
      • پشتیبانی
    0
    ورود / عضویت

    بلاگ

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

    لیست در پایتون

    2020/09/06
    ارسال شده توسط الهام پیلوا
    پایتون
    9.6k بازدید

    در این پست از مجموعه آموزش رایگان پایتون ، می‌خواهیم به معرفی لیست در پایتون بپردازیم که یکی از پر استفاده‌ترین و انعطاف‌پذیرترین دیتاتایپ‌ها در پایتون است. در این پست یاد می‌گیرید که چطور یک لیست تعریف کنید و با متدهای مهم آن آشنا می‌شوید. همچنین تمرین‌هایی برای شما در نظر گرفتیم تا به مفاهیم، بیشتر مسلط شوید. با ما همراه باشید…

    فهرست مطالب نمایش
    1. دانلود ویدئو کار با لیست در پایتون
    2. لیست در پایتون چیست
    3. ویژگی‌های لیست در پایتون
    3.1. 1- Lists are ordered | لیست‌ها ترتیب دارند!
    3.2. 2- List items are accessed by indexing | اعضای لیست با اندیس قابل دسترسی است!
    3.3. 3- Lists are mutable | لیست‌ها قابل تغییر هستند.
    3.4. 4- Lists are heterogeneous | لیست‌ها ناهمگن هستند!
    3.5. 5- Lists are dynamic | لیست‌ها پویا هستند.
    3.6. 6- Lists are nestable | لیست‌ها می‌توانند تودرتو باشند.
    4. تعریف لیست در پایتون با براکت
    4.1. تعریف لیست خالی در پایتون
    4.2. تعریف لیست با دیتاتایپ‌های مختلف
    4.3. تعریف لیست تو در تو یا nested list در پایتون
    5. اندیس دهی یا indexing در پایتون
    5.1. اندیس‌دهی به لیست‌های تو در تو
    5.2. اندیس منفی در پایتون
    6. تکه برداری یا slicing لیست در پایتون
    6.1. چند نکته جالب در slicing
    7. محاسبه طول لیست با دستور len در پایتون
    8. محاسبه طول لیست با ()__len__.
    9. دستور append در پایتون
    9.1. چرا نتیجه دستور append در پایتون None می‌شود؟
    9.2. آیا می‌توان با دستور append، دو مقدار به لیست اضافه کرد؟
    10. چسباندن دو لیست در پایتون
    10.1. متد extend در پایتون
    10.2. چسباندن دو لیست با +
    11. دستور (متد) index در پایتون
    12. شمارش عناصر در لیست با متد count
    13. مرتب کردن آیتم ها در لیست با متد sort در پایتون
    14. حذف آیتم از لیست در پایتون
    14.1. حذف آیتم از لیست در پایتون با دستور clear
    14.2. حذف آیتم از لیست با دستور pop در پایتون
    15. دریافت PDF جلسه دوم
    16. جمع‌بندی

    دانلود ویدئو کار با لیست در پایتون

    تمامی مباحث این جلسه در ویدئو زیر توضیح داده شده است. پیشنهاد می‌کنم علاوه بر دیدن ویدئو، متن را هم بخوانید و تمرین‌ها و مثال‌ها را با دقت بررسی کنید.

    لیست در پایتون چیست

     

    لیست در پایتون

     

    لیست، یکی از دیتاتایپ‌ها در پایتون است که بسیار انعطاف‌پذیر و پرکاربرد است. یک لیست از مجموعه‌ای از آیتم‌ها یا عناصر تشکیل می‌شود که در یک براکت پشت سر هم قرار گرفته‌اند.

    لیست ها در پایتون یکسری ویژگی مهم دارند که در اکثر کتاب‌ها، ویدئوها و رفرنس‌های مختلف با آن‌ها مواجه خواهید شد. ما هم در این بخش به آن‌ها خواهیم پرداخت. این ویژگی‌ها بسیار ساده هستند ولی ممکن است در نگاه اول برای شما پیچیده به نظر بیایند. اگر این موارد را خواندید و متوجه نشدید، جای نگرانی نیست. آموزش را ادامه دهید. این ویژگی‌ها در جای خودشان مجدد یادآوری خواهند شد تا بهتر درکشان کنید.

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

    در ادامه ویژگی‌های لیست در پایتون را یکی یکی معرفی کرده و در مورد هرکدام توضیح می‌دهیم.

    1- Lists are ordered | لیست‌ها ترتیب دارند!

    ترتیب در لیست‌ها مهم است. یعنی اگر دو لیست به شکل [1, 2] و [2, 1] داشته باشیم، این دو با هم برابر نیستند. خب مگر غیر این هم ممکن است باشد؟ بله، در پایتون دیتاتایپ‌هایی وجود دارند که ترتیب در آن‌ها مهم نیست! بعدا با آن‌ها آشنا خواهیم شد.

    2- List items are accessed by indexing | اعضای لیست با اندیس قابل دسترسی است!

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

    3- Lists are mutable | لیست‌ها قابل تغییر هستند.

    خاصیت mutable بودن در واقع به این معناست که شما می‌توانید بدون تعریف لیست جدیدی، یکی از اعضای آن را ویرایش کنید. این ویرایش می‌تواند تغییر مقدار یا حذف یک آیتم از لیست یا اضافه کردن آیتم/آیتم‌هایی به لیست باشد.

    4- Lists are heterogeneous | لیست‌ها ناهمگن هستند!

    عبارت heterogeneous به معنای ناهمگن است. یعنی نیازی نیست تمامی آیتم‌های لیست از یک نوع باشند. شما در پایتون می‌توانید لیست‌هایی تعریف کنید که انواع دیتاتایپ‌ها مثل int، str و … را همزمان در خود داشته باشند.

    5- Lists are dynamic | لیست‌ها پویا هستند.

    پویا یا dynamic بودن لیست در پایتون به این معنی است که طول آن قابل تغییر است. یعنی می‌توان آیتم‌هایی به آن اضافه کرد.

    6- Lists are nestable | لیست‌ها می‌توانند تودرتو باشند.

    لیست تو در تو یعنی اینکه یکی از آیتم‌های لیست، خودش یک لیست دیگر باشد! به چنین لیستی، لیست تو در تو گفته می‌شود.

    تعریف لیست در پایتون با براکت

    برای تعریف یک لیست در پایتون از براکت استفاده می‌شود. برای این کار کافی است آیتم‌ها را بین دو علامت [ و ] قرار داده و آن‌ها را با کاما از هم جدا کنیم. برویم سراغ چند مثال تا تعریف لیست در پایتون را خوب یاد بگیرید.

    فرض کنید بخواهیم یک لیست با مقادیر 1 تا 6 تعریف کرده و آن را در متغیر list1 ذخیره کنیم. سپس list1 را نمایش دهیم. برای این کار باید بنویسیم:

    list1 = [1, 2, 3, 4, 5, 6]
    print(list1)
    [1, 2, 3, 4, 5, 6]

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

    اگر دقت کرده باشید، هنگام تعریف list1 زمانی که می‌نویسید list، رنگ آن عوض می‌شود. دلیلش آن است که list یک تابع built-in در پایتون است. طبق قواعد نام‌گذاری در پایتون، نباید نام متغیر خود را list بگذارید. اگر نام متغیر خود را list بگذارید، دیگر نمی‎‌توانید از تابع list در کد خود بهره ببرید. بنابراین بهتر است از یک پسوند یا پیشوند برای list استفاده کنید مثل my_list یا list1.

    نکته برای خوانایی بهتر، بعد از هر آیتم، یک space گذاشتیم. این کار در برنامه‌نویسی پایتون رایج است و باعث بهتر خوانده شدن کدها می‌شود. بهتر است شما هم این نکته را رعایت کنید تا کدتان حرفه‌ای تر و تمیزتر به نظر بیاید.

    تعریف لیست خالی در پایتون

    شاید پیش خودتان می‌گویید که لیست خالی دیگر چیست؟ ولش کن بابا این قسمت را نمیخوانم مهم نیست! تعریف لیست خالی در عین ساده بودن، بسیار پرکاربرد است. در پروژه‌های جدی شاید بارها مجبور می‌شویم که یک لیست خالی تعریف کرده و سپس آن را با یکسری مقادیر پر کنیم. خب حالا چطور این کار را انجام دهیم؟ دو روش وجود دارد. روش اول استفاده از یک براکت خالی است! براکت خالی می‌شود لیست خالی دیگر! 🤯😁

    list2 = []
    print(list2)
    []

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

    list3 = list()
    print(list3)
    []

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

    تعریف لیست با دیتاتایپ‌های مختلف

    در ویژگی 4 از ویژگی‌های لیست در پایتون گفته شد که لیست‌ها ناهمگن هستند. یعنی می‌توانند شامل دیتاتایپ‌های مختلف باشند. در این بخش می‌خواهیم یک لیستی با مقادیر [23, 9.7, ‘hello’] تعریف کرده و در متغیر list4 ذخیره کنیم:

    list4 = [23, 9.7, 'hello']
    print(list4)
    [23, 9.7, 'hello']

    مشاهده می‌کنید که سه نوع متغیر int، float و string را با هم در یک لیست ذخیره کردیم.

    تمرین 1: لیستی با نام my_list و با آیتم‌های دلخواه بسازید.

    🤨

    تعریف لیست تو در تو یا nested list در پایتون

    یکی از ویژگی‌هایی که برای لیست تعریف کردیم، این بود که لیست‌ها می‌توانند تو در تو باشند! یعنی یکی از آیتم‌های لیست، خودش لیست باشد. به این شکل:

    list5 = [10, [2, 3], 5]
    print(list5)
    [10, [2, 3], 5]

    مشاهده می‌کنید که دومین آیتم از list5، یک لیست است. به list5 یک لیست تو در تو یا nested list می‌گوییم.

    اندیس دهی یا indexing در پایتون

    در دومین ویژگی از ویژگی‌های لیست در پایتون گفتیم که هر آیتم از لیست در پایتون، یک اندیس دارد و توسط آن اندیس قابل دسترسی است. اندیسِ هر آیتم در واقع به نوعی آدرس آن آیتم را نشان می‌دهد. اندیسِ یک آیتم نشان می‌دهد که چندمین آیتم از لیست است. دقت کنید؛ اندیس‌ها در پایتون از صفر شروع می‌شوند. خب، با این توضیحات بگویید ببینم کلمه ‘hello’ در list4 چه اندیسی دارد؟ از صفر شروع می‌کنیم به شمردن! 0 – 1 – 2. بنابراین اندیس hello برابر با 2 است.

    حالا که اندیس hello را پیدا کردیم، چطور باید از آن استفاده کنیم؟ برای اندیس دهی به یک لیست در پایتون باز هم از براکت استفاده می‌کنیم. به این شکل که ابتدا نام لیست را می‌نویسیم و سپس یک براکت می‌گذاریم و در براکت اندیس را وارد می‌کنیم. مثلا برای استخراج hello از list4 کافی است به این شکل اندیس دهی را انجام دهیم:

    list4[2]
    'hello'

    مشاهده می‌کنید که خروجی همان کلمه hello بود که می‌خواستیم. پس برای استخراج یک آیتم از لیست کافی است آدرس آن را بلد باشید! آن آدرس را در یک براکت گذاشته و جلوی لیست می‌گذارید و تمام.

    اندیس‌دهی به لیست‌های تو در تو

    برگردید و به list5 یک نگاه بیندازید. به نظر شما برای استخراج عدد 2 از list5 چطور باید اندیس دهی را انجام دهیم؟ اول از همه بیایید لیست داخلی، یعنی [3, 2] را استخراج کنیم. اندیس آن چند است؟ می‌شماریم: صفر…یک. اندیسش یک است:

    list5[1]
    [2, 3]

    تا اینجا توانستیم لیست داخلی را بیرون بکشیم. حالا برای دسترسی به عدد 2، دوباره باید اندیس دهی کنیم، اما چگونه؟ شاید به این فکر می‌کنید که لیست داخلی را در متغیر دیگری ذخیره کنید و مجدد اندیس دهی را انجام دهید:

    list6 = list5[1]
    list6[0]

    بله این روش هم درست است، اما راه ساده‌تر و بهتری هم وجود دارد. برای اینکار ابتدا اندیس لیست داخلی را بنویسید. سپس یک براکت جدید باز کنید و اندیس عدد 2 را وارد کنید! به این شکل:

    list5[1][0]
    2

    مشاهده می‌کنید که نتیجه عدد 2 است. حالا اگر یک لیست به این شکل داشته باشیم:

    list7 = [1, 4, 7, [5, 2, [2, 3.5, 1]], 0, 5]

    برای دسترسی به عدد 3.5 می‌توانیم بنویسیم:

    list7[3][2][1]
    3.5

    به این ترتیب، یکی یکی لیست‌ها را با اندیس‌دهی بیرون می‌کشیم تا به عدد دلخواهمان برسیم!

    اندیس منفی در پایتون

    در پایتون اندیس منفی هم وجود دارد. اندیس منفی در واقع اندیس‌دهی از آخر لیست است! به تصویر زیر دقت کنید:

    لیست در پایتون

    مشاهده می‌کنید که اگر از اندیس منفی استفاده کنیم، می‌توانیم اندیس‌دهی را از آخر لیست انجام دهیم. در این صورت اندیس 1- نشان‌دهنده آخرین آیتم از لیست است. اندیس 2- مربوط به آیتم یکی مانده به آخر. به همین ترتیب تا اولین آیتم را می‌توانیم اندیس‌دهی کنیم. این نوع اندیس‌دهی هم بسیار پر استفاده است.

    یکی از مواردی که از اندیس‌دهی منفی استفاده می‌شود، استخراج آخرین آیتم از لیست است. اگر نخواهیم از اندیس دهی منفی استفاده کنیم، باید ببینیم لیست چند آیتم دارد و سپس اندیس دهی را انجام دهیم. مثلا برای دسترسی به آخرین آیتم از list7، ابتدا بررسی می‌کنیم که این لیست چند آیتم دارد. این لیست 6 آیتم دارد. پس اندیس آخرین آیتم 5 است. برای دسترسی به آخرین المان کافی است بنویسید:

    list7[5]
    5

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

    list7[-1]
    5

    به همین راحتی! لیست شما هر تعداد آیتم در خودش داشته باشد، اندیس آخرین المان آن همیشه 1- هست و خواهد بود!

    تکه برداری یا slicing لیست در پایتون

    در بخش قبل با نحوه اندیس دهی به لیست در پایتون آشنا شدیم. در این بخش می‌خواهیم با تکه برداری آشنا شویم. تکه برداری یا slicing به معنی این است که به جای یک آیتم، چند آیتم را از لیست استخراج کنیم. در واقع یک تکه از لیست را می‌خواهیم استخراج کنیم. برای این کار شما باید یاز هم از براکت استفاده کرده و سپس بازه موردنظر خود را مشخص کنید. برای وارد کردن بازه از علامت : استفاده می‌شود. در سمت چپ این علامت، ابتدای بازه و سمت راست آن، انتهای بازه نوشته می‌شود. اما دقت کنید که این بازه، یک بازه‌ی باز است! یعنی اگر می‌خواهیم اندیس 2 تا 4 را استخراج کنیم، باید بنویسیم 2:5! بیایید برای list1 اندیس‌های 2 تا 4 را استخراج کنیم:

    list1[2:5]
    [3, 4, 5]

    مشاهده می‌کنید که اندیس 2، 3 و 4 استخراج شده است. پس دقت کنید. اگر اندیس m تا n را بخواهید، باید اندیس دهی را تا n+1 انجام دهید.

    چند نکته جالب در slicing

    یک نکته جالب در slicing این است که شما می‌توانید یکی در میان، دو تا در میان یا … آیتم‌ها را استخراج کنید. یعنی علاوه بر ابتدا و انتهای بازه، یک گام هم برای آن در نظر بگیرید. شما با اضافه کردن یک علامت : دیگر می‌توانید گام را مشخص کنید به این شکل: [start:end:step]. مثلا اگر بخواهیم کل آیتم‌های list1 را یک در میان استخراج کنیم باید بنویسیم:

    list1[0:5:2]
    [1, 3, 5]

    مشاهده می‌کنید که یک در میان آیتم‌ها استخراج شده‌اند.

    نکته دیگر اینکه اگر ابتدای بازه از 0 است، شما می‌توانید عدد 0 را وارد نکنید و آن را خالی بگذارید. در این صورت پایتون خودش می‌فهمد که ابتدای بازه وارد نشده پس همان صفر است:

    list1[:3]
    [1, 2, 3]

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

    list1[2:]
    [3, 4, 5, 6]

    مشاهده می‌کنید که از اندیس 2 تا آخر، همه آیتم‌ها استخراج شده‌اند. حتی آخرین آیتم هم برداشته شده است. پس [:2] یعنی از اندیس 2 تا آخر!

    نکته آخر اینکه step می‌تواند منفی باشد! منفی بودن گام این امکان را برای ما فراهم می‌کند که از آخر به اول آیتم‌ها را استخراج کنید. این مثال را در نظر بگیرید:

    list1[4:1:-1]

    می‌توانید نتیجه را حدس بزنید؟ بیایید بررسی کنیم. ابتدای بازه 4 و انتهای بازه 1 و گام 1- است. پس قاعدتا باید اندیس 4 تا 2 از list1 استخراج شود. نتیجه اجرای این کد به شکل زیر است:

    [5, 4, 3]

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

    list1[1:4:-1]
    []

    محاسبه طول لیست با دستور len در پایتون

    در بخش‌های قبلی مشاهده کردید که یک لیست از یک یا چند آیتم تشکیل شده است. با استفاده از دستور len می‌توان تعداد آیتم‌های یک لیست را در پایتون محاسبه کرد. فرض کنید بخواهیم تعداد آیتم‌های list1 را محاسبه کنیم. برای این کار می‌توانیم بنویسیم:

    len(list1)
     6

    مشاهده می‌کنید که تعداد آیتم‌های list1 برابر با 6 محاسبه شده است. آیا درست است؟ با شمارش تعداد آیتم‌های لیست، شما هم به همین نتیجه خواهید رسید. list4 چند آیتم دارد؟ ببینیم:

    len(list4)
    3

    تعداد آیتم‌های list4 برابر با 3 است. راه دیگری نیز برای محاسبه طول یک لیست وجود دارد که در بخش‌های بعدی به آن خواهیم پرداخت.

    محاسبه طول لیست با ()__len__.

    روش دومی که برای محاسبه تعداد آیتم‌های لیست وجود دارد، ()__len__. است. برای محاسبه طول list1 با این روش کافی است بنویسید:

    list1.__len__()
    6

    مشاهده می‌کنید که نتیجه مشابه قبل است. پس دو روش برای محاسبه طول یک لیست وجود دارد:

    • ()len
    • ()__len__.
    تمرین 2: طول list5 را با استفاده از دو روش گفته شده، محاسبه کنید.
    len(list5)
    list5.__len__()

    دستور append در پایتون

    در بخش‌های قبلی، نحوه تعریف لیست در پایتون و محاسبه طول آن را آموختید. در این بخش می‌خواهیم نحوه اضافه کردن یک آیتم به لیست را آموزش دهیم. یکی از راه‌های اضافه کردن آیتم به لیست، دستور append است. این دستور یک آیتم به انتهای لیست اضافه می‌کند. در ادامه با یک مثال نحوه استفاده از دستور append در پایتون را بررسی خواهیم کرد.

    فرض کنید بخواهیم عدد 7 را به list_1 اضافه کنیم. برای این کار باید بنویسیم:

    print('before append: list1 = ', list1)
    list1.append(7)
    print('after append: list1 = ', list1)

    در خط اول از کد بالا، مقدار list1 را قبل از اعمال دستور append و در خط آخر مقدارش را بعد از اعمال این دستور پرینت کردیم تا تغییرات را بهتر متوجه شویم. با اجرای دستور بالا خواهیم داشت:

    before append: list1 = [1, 2, 3, 4, 5, 6] 
    after append: list1 = [1, 2, 3, 4, 5, 6, 7]
    نکته در ویژگی 5 از ویژگی‌های لیست گفتیم که لیست‌ها پویا هستند و طول آ‌ن‌ها می‌تواند تغییر کند. متد append یکی از توابعی است که می‌تواند به لیست یک مقدار اضافه کند. در ادامه با متدهای دیگری نیز آشنا خواهیم شد که می‌توانند یک یا چند مقدار را به لیست اضافه یا از آن کم کنند.

    چرا نتیجه دستور append در پایتون None می‌شود؟

    دقت کنید که دستور append تغییرات را inplace اعمال می‌کند و نباید آن را به متغیر جدیدی اختصاص دهید. خروجی دستور append عبارت None است.

    list1_temp = list1.append(8)
    print(list1_temp)
    None

    مشاهده می‌کنید که اگرچه خطایی دریافت نکردیم اما در متغیر list1_temp مقدار None ذخیره شده است! در عین حال اگر list1 را پرینت کنید، می‌بینید که عدد 8 به آن اضافه شده است.

    نکته این None می‌تواند در پروژه‌هایتان حسابی دردسر ساز شود. پس حواستان را جمع کنید که چنین اشتباهی انجام ندهید.

    آیا می‌توان با دستور append، دو مقدار به لیست اضافه کرد؟

    اگر بخواهیم دو عدد 8 و 9 را با هم اضافه کنیم چه؟ آیا می‌توان باز هم از append استفاده کرد؟ ببینیم:

    list1.append(8, 9)
    TypeError: list.append() takes exactly one argument (2 given)

    با اجرای این کد، خطا می‌گیریم. دلیل این خطا واضحا در خروجی ذکر شده! گفته که list.append دقیقا یک ورودی می‌گیرد در حالی که 2 تا داده شده. بنابراین با دستور append تنها یک المان را می‌توانیم به لیست اضافه کنیم. در بخش‌های بعدی دستوری را معرفی خواهیم کرد که با آن می‌توان چندین آیتم را همزمان به لیست در پایتون اضافه کرد.

    تمرین 3: عبارت best را به my_list اضافه کنید.
    my_list.append('best')

    چسباندن دو لیست در پایتون

    متد extend در پایتون

    برای اضافه کردن بیش از یک آیتم به لیست از دستور extend در پایتون استفاده می‌شود. استفاده از این دستور کمی با append متفاوت است. برای اضافه کردن اعداد دلخواه به یک لیست، کافی است آن‌ها را در قالب یک لیست به دستور extend بدهید. مثلا برای اضافه کردن عدد 9 و 10 به list1 کافی است اعدادی که می‌خواهیم اضافه کنیم را در براکت قرار داده و به دستور extend بدهیم:

    list1.extend([9, 10])
    print(list1)
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    مشاهده می‌کنید که دو عدد 9 و 10 به لیست اضافه شده‌اند. از این دستور برای چسباندن دو لیست به هم نیز می‌توان استفاده کرد. مثلا برای چسباندن list4 و list5 به هم کافی است بنویسید:

    list4.extend(list5)
    print(list4)
    [23, 9.7, 'hello', 10, [2, 3], 5]

    دقت کنید که در این روش list5 به list4 اضافه می‌شود ولی خودش تغییری نمی‌کند. تغییرات روی list4 اعمال می‌شود.

    نکته در مورد extend نیز همان نکته‌ای که در مورد append گفتیم وجود دارد. extend در پایتون متغیر جدیدی تولید نمی‌کند بلکه همان متغیر فعلی را تغییر می‌دهد. بنابراین اگر نتیجه extend را در یک متغیر جدیدی ذخیره کنیم، نتیجه None خواهد بود.
    تمرین 4: عبارات orange، mango و melon را به list2 اضافه کنید.
    list2.extend(['orange', 'mango', 'melon'])

    چسباندن دو لیست با +

    برای چسباندن دو لیست در پایتون می‌توان از علامت + نیز استفاده کرد. برای چسباندن دو لیست list5 و list6 کافی است بنویسید:

    list5 + list6
    [10, [2, 3], 5, 2, 3]

    مشاهده می‌کنید که دو لیست به هم متصل شده‌اند. اما اگر هردو لیست را پرینت کنید متوجه خواهید شد که هیچکدام تغییر نکرده‌اند. بنابراین برخلاف extend، برای ذخیره نتیجه list6 + list5 باید آن را در متغیر جدیدی ذخیره کرد.

    دستور (متد) index در پایتون

    برای بدست آوردن اندیس هر آیتم از دستور index در پایتون می‌توان استفاده کرد. مثلا برای به دست آوردن اندیس hello در list4 کافی است بنویسیم:

    list4.index('hello')

    نتیجه اجرای این کد برابر است با:

    2

    همین نتیجه را هم انتظار داشتیم نه؟ حتی در لیست های تو در تو می‌توانید اندیس لیست داخلی را هم به دست آورید. مثلا در list5 برای به دست آوردن اندیس لیست داخلی [2, 3] کافی است بنویسید:

    list5.index([2, 3])
    1

    شمارش عناصر در لیست با متد count

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

    list9 = [6, 3, 4, 8, 4, 3, 0, 1, 9, 5, 9, 7, 6]

    مثلا می‌خواهیم بدانیم عدد 9 چند بار تکرار شده است. برای این کار کافی است بنویسیم:

    list9.count(9)
    2

    بشمارید ببینید که 2 بار تکرار شده است یا خیر.

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

    آیتم‌های یک لیست را می‌توان مرتب کرد. برای این کار از متد sort در پایتون می‌توان استفاده کرد. برای لیست‌هایی که فقط عدد در خود دارند، این اعداد از کوچک به بزرگ مرتب می‌شوند.

    list9.sort()
    print(list9)

    با اجرای کد بالا خواهیم داشت:

    [0, 1, 3, 3, 4, 4, 5, 6, 6, 7, 8, 9, 9]

    مشاهده می‌کنید که اعداد از کوچک به بزرگ مرتب شده‌اند. با استفاده از این دستور می‌توان اعداد را از بزرگ به کوچک نیز مرتب کرد. برای این کار کافی است در ورودی متد sort، عبارت reverse را True قرار دهیم. یعنی بنویسیم:

    list9.sort(reverse=True)
    print(list9)

    با اجرای کد بالا خواهیم داشت:

    [9, 9, 8, 7, 6, 6, 5, 4, 4, 3, 3, 1, 0]

    در مورد لیست‌هایی که شامل داده‌های رشته‌ای هستند، آیتم‌ها به ترتیب حروف الفبا مرتب خواهند شد. لیست زیر را در نظر بگیرید:

    list10 = ['apple', 'banana', 'mango', 'Blueberry']

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

    list10.sort()

    با اجرای کد بالا داریم:

    ['Blueberry', 'apple', 'banana', 'mango']

    چرا به این شکل شد؟ دلیلش این است که مرتب‌سازی بر اساس اولین حرف از هر آیتم و کد اسکی آن انجام می‌شود.

    کد اسکی حروف انگلیسی بزرگ از 065 (A) شروع شده و به 090 (Z) ختم می‌شود. حروف کوچک انگلیسی هم از 097 (a) شروع و به 122 (z) ختم می‌شوند. با این توضیحات باید برایتان روشن شده باشد که list10 چطور مرتب شده است.

    تمرین 5: لیستی از متغیرهای رشته‌ای و عددی تعریف کرده و مرتب سازی را برای آن انجام دهند.
    my_list.sort()

    با اجرای این کد با خطا مواجه خواهید شد زیرا امکان مقایسه متغیر عددی و رشته وجود ندارد!

    این هم از تابع sort در پایتون ، برویم سراغ بخش بعدی…

    حذف آیتم از لیست در پایتون

    حذف آیتم از لیست در پایتون با دستور clear

    دستور clear برای حذف تمامی آیتم‌های یک لیست استفاده می‌شود. به این منظور کافی است بنویسید:

    list9.clear()
    print(list9)

    با اجرای کد بالا خواهیم داشت:

    []

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

    حذف آیتم از لیست با دستور pop در پایتون

    برای حذف یک آیتم از لیست باید از متد pop در پایتون استفاده کنید. به این منظور کافی است اندیس موردنظر را به متد pop در پایتون بدهیم. مثلا فرض کنید بخواهیم اندیس 2 از list1 را حذف کنیم. در این صورت کافی است بنویسیم:

    print('before append: list1 = ', list1)
    list1.pop(2)
    print('after append: list1 = ', list1)
    before append: list1 =  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    after append: list1 =  [1, 2, 4, 5, 6, 7, 8, 9, 10]

    مشاهده می‌کنید که اندیس 2 یعنی عدد 3 از list1 حذف شده است. دقت کنید، متد pop خروجی هم دارد! این بار متد pop را با اندیس 1 اجرا می‌کنیم:

    list1.pop(1)
    2

    مشاهده می‌کنید خروجی عدد 2 یعنی همان عددی است که حذف شده است.

    تمرین 6: عبارت orange را از list2 حذف کنید.
    list_2.pop(2)

    دریافت PDF جلسه دوم

    برای دریافت pdf این جلسه، لطفا ایمیل خود را در باکس زیر وارد کرده و روی دکمه «دریافت pdf» کلیک کنید.

    دریافت PDF

    جمع‌بندی

    در این پست ما لیست‌ها و مهم‌ترین دستورهای مرتبط با لیست را بررسی کردیم. لیست‌ها در پایتون بسیار کاربرد دارند. از این رو این جلسه را با دقت مطالعه کرده و حتما حتما تمرین کنید. سوالات، نظرات و پیشنهادهای خود را در کامنت‌ها با ما درمیان بگذارید. تیم ما سعی می‌کند در اسرع وقت به کامنت‌های شما پاسخ دهد. امیدوارم این آموزش مورد توجه شما قرار گرفته باشد.

    اشتراک گذاری:
    درباره الهام پیلوا

    دانش‌آموخته مهندسی‌پزشکی دانشگاه علم و صنعت

    نوشته های بیشتر از الهام پیلوا

    مطالب زیر را حتما مطالعه کنید

    زبان برنامه نویسی پایتون چیست
    اگر دنیای برنامه نویسی را یک فرش قرمز فرض کنیم، بدون شک پایتون پرطرفدارترین سلبریتی...
    آموزش سایکیت لرن
    در این مقاله به آموزش سایکیت لرن، کتابخانه قدرتمند و محبوب یادگیری ماشین خواهم پرداخت....
    آموزش کتابخانه pandas
    این آموزش به آموزش کتابخانه pandas در پایتون اختصاص دارد. کتابخانه پانداس یکی از کلیدی‌ترین...
    دستورهای پراستفاده pip
    بعد از نصب پایتون، اولین کاری که هر کسی انجام می‌دهد، نصب کتابخانه‌های ضروری است....
    علامت تقسیم ، باقیمانده و خارج قسمت در پایتون
    تقسیم یکی از چهار عمل اصلی در ریاضی است. شما با استفاده از علامت /...
    نصب کتابخانه matplotlib در پایتون
    یکی از پرکاربردترین و شناخته‌شده‌ترین کتابخانه‌های پایتون که برای مصورسازی و رسم نمودارهای مختلف استفاده...

    17 دیدگاه

    به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

    • نرجس گفت:
      2026/03/08 در 12:44 ق.ظ

      سلام من وقتی مقدار بولی(trueیاfals) رو با ویرگول مینویسم بهم خطا میده و میگه باید (“”) از این استفاده کنم

      پاسخ
      • هوسم گفت:
        2026/03/09 در 6:27 ب.ظ

        سلام
        حرف اول True/False رو باید بزرگ بنویسید.

        پاسخ
    • shiva.konarizadeh گفت:
      2025/05/15 در 9:42 ب.ظ

      سلام.خسته نباشید.آموزش بسیار عالی و روان.فقط یه پیشنهاد داشتم اگر میشد کلاسها در نقشه راه AI رو یه پکیج کنید که بزنه چند درصد راه رو رفتیم خیلی عالی تر میشد

      پاسخ
    • mousaviseyedkhorram گفت:
      2024/11/14 در 9:06 ق.ظ

      سلام. من پایتون نصب کردم چرا محیطش تفاوت میکنه؟ اصلا شبی محیط Dos هست؟

      پاسخ
    • زهرا گفت:
      2023/12/26 در 1:35 ب.ظ

      ممنون از ارایه مطالب بسیار عالی و پرکاربردتون

      پاسخ
    • name گفت:
      2023/08/05 در 1:12 ب.ظ

      سلام مرسی میشه لطفا بگید در لیست چگونه ایتم هایش را بچسبونیم با def

      پاسخ
    • Saeed گفت:
      2023/06/12 در 8:17 ب.ظ

      درود و سپاس بابت محتوای مفیدتون
      من نمیتونم pdf جلسه ۲ رو دریافت کنم
      راهنمایی کنید لطفا🙏

      پاسخ
      • هوسم گفت:
        2023/06/13 در 12:19 ب.ظ

        سلام، ممنون از شما🌹🙏
        لینکش مجدد چک شد و مشکلی نداره. اگر مشکل شما همچنان پابرجاست به چت آنلاین سایت پیام بدید لطفا

        پاسخ
    • فاطمه گفت:
      2022/03/31 در 9:05 ق.ظ

      سلام
      چه جور میتونم با استفاده از یک لیست مقادیر ماتریس ام در ان را از کاربر بگیرم؟

      پاسخ
    • فرزاد گفت:
      2021/10/31 در 6:07 ب.ظ

      سلام
      ضمن تشکر ، ادیتور مورد استفاده چیست

      پاسخ
      • تیم هوسم گفت:
        2021/11/01 در 9:49 ق.ظ

        سلام
        Google Colab
        گوگل کولب یک سرویس آنلاین هست که به شما یک VM میده و شما میتونید در محیطی شبیه ژوپیتر نوتبوک کد بزنید. میتونید از اینجا آموزش گوگل کولب رو بخونید و بیشتر باهاش آشنا بشید.

        پاسخ
    • Siy گفت:
      2021/02/02 در 8:35 ق.ظ

      سلام
      متشکر از مطالبتون
      ببخشید راهی نیست که
      با اون بشه اسم یه لیست
      رو بدست اورد؟

      پاسخ
      • تیم هوسم گفت:
        2021/02/12 در 10:02 ب.ظ

        سلام،
        ممنون🌹
        بابت دیر پاسخ دادن عذرخواهی می‌کنم.
        دستور مستقیمی برای این کار وجود نداره. اما شما با دستور whos می‌تونید لیستی از تمام متغیرها داشته باشید. همچنین دستور ()globals هم تمامی متغیرهایی که تعریف کردید رو در خودش داره اما باید کدی بنویسید که بتونه فقط لیست ها رو استخراج کنه.

        پاسخ
      • زهرا گفت:
        2021/08/26 در 8:57 ب.ظ

        چجوری یه کدی بنویسیم inputبگیریم مثلا 3و بگیم خونه سوم لیستمون چ عددی داخل شه؟

        پاسخ
        • تیم هوسم گفت:
          2021/08/29 در 10:26 ق.ظ

          سلام،
          خب ساده هست.
          شما باید با input ورودی رو بگیرید. چون خروجی input به صوررت رشته‌ای هست باید تبدیل به عددش کنید. بعد هم از این عدد به عنوان اندیس لیست استفاده کنید:
          my_list = [1, 2, 3, 4, 5]
          ind = int(input(‘enter a number: ‘))
          print(my_list[ind – 1])

          پاسخ
    • علی گفت:
      2020/11/26 در 11:04 ق.ظ

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

      پاسخ
      • تیم هوسم گفت:
        2020/11/26 در 1:26 ب.ظ

        سلام
        سپاس 🌹

        پاسخ

    دیدگاهتان را بنویسید لغو پاسخ

    جستجو برای:
    فهرست مطالب دوره
    • معرفی دوره آموزش رایگان پایتون
    • جلسه 00: زبان برنامه نویسی پایتون چیست؟
    • جلسه 01: تعریف متغیر در پایتون
    • جلسه 02: لیست در پایتون
    • جلسه 03: عملگرها در پایتون
    • جلسه 04: رشته در پایتون
    • جلسه 05: عملگرهای مقایسه در پایتون
    • جلسه 06: دستورات شرطی در پایتون
    • جلسه 07: حلقه در پایتون
    • جلسه 08: تعریف تابع در پایتون
    • جلسه 09: دیکشنری در پایتون
    • جلسه 10: کلاس در پایتون
    دوره‌های جامع هوسم
    • مسابقه Kaggle: تحلیل و پیش‌بینی رفتار با داده‌های چندحسگری سری زمانی
    • پیاده‌سازی ChatGPT از صفر با پایتورچ
    • آموزش OpenCV: از پردازش تا بینایی
    • دیپ کاتالیست: دوره افزایش مهارت
    • پایتون برای هوش مصنوعی 🤖
    • یادگیری ماشین جامع: از مفاهیم تا پیاده‌سازی🔥
    • یادگیری عمیق جامع: از مفاهیم تا پیاده‌سازی
    درباره هوسم

    آکادمی هوش مصنوعی هوسم با آموزش‌های تخصصی در حوزه هوش مصنوعی در خدمت شماست. روی کمک هوسم حساب کنید…

    • گیلان- شهرستان رودسر- شهرک انصاری- کوچه لاله 9
    • 09025469248
    • howsam.mail@gmail.com
    دسترسی سریع
    • صفحه اصلی
    • وبلاگ
    • حساب کاربری
    • سبد خرید
    شبکه‌های اجتماعی

     

    logo-samandehi
    تمامی حقوق برای آکادمی هوسم محفوظ است.
      کد تخفیف شما هست و فقط
      فرصت داری ازش استفاده کنی!
      کد تخفیف شما هست و فقط
      فرصت داری ازش استفاده کنی!
      کد تخفیف شما هست و فقط
      فرصت داری ازش استفاده کنی!
      کد تخفیف شما هست و فقط
      فرصت داری ازش استفاده کنی!
      کد تخفیف شما هست و فقط
      فرصت داری ازش استفاده کنی!
      ورود
      استفاده از موبایل
      استفاده از آدرس ایمیل
      آیا هنوز عضو نیستید؟ اکنون عضو شوید
      بازنشانی رمز عبور
      استفاده از موبایل
      استفاده از آدرس ایمیل
      عضویت
      استفاده از موبایل
      استفاده از ایمیل
      قبلا عضو شدید؟ اکنون وارد شوید

      ورود

      رمز عبور را فراموش کرده اید؟

      هنوز عضو نشده اید؟ عضویت در سایت