آموزش حذف آیتم از لیست های پایتون

امیرحسین بیگدلو 12 ماه قبل

در این مقاله تمام روش های حذف عناصر از لیست در پایتون را بررسی می کنیم. لیست‌های پایتون اساسی‌ترین ساختار داده‌ای هستند که در برنامه‌نویسی روزمره استفاده می‌شوند. ما با موقعیت‌هایی مواجه می‌شویم که باید عناصر را از لیست‌ها حذف کنیم و در این مقاله دقیقاً درباره آن بحث خواهیم کرد.

 

مقاله پیشنهادی: آموزش کامل تابع count در پایتون

 

 #  حذف المان های لیست بر اساس مقدار

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

 

پایتون یک تابع داخلی به نام remove دارد، که به ما کمک می کند تا عناصر را بر اساس مقدار حذف کنیم:

>>> lis = [3, 1, 4, 1, 5, 9, 2, 6, 5]
>>> lis.remove(1)
>>> lis
[3, 4, 1, 5, 9, 2, 6, 5]

 

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

 

اگر بخواهید در صورت وجود نداشتن آیتم پایتون پیغام خطا نمایش ندهد میتوانید از شرط if برای بررسی وجود آیتم استفاده کنید:

>>> lis = [1, 4, 2, 6, 1, 9, 10]
>>> val = 6
>>> if val in lis:
...     lis.remove(val)
>>> lis
[3, 1, 4, 1, 5, 9, 2, 5]

 

در کد بالا قبل از حذف المان وجود آن را بررسی کردیم.

 

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

>>> lis = [1, 4, 2, 6, 1, 9, 10]

>>> val = 1

>>> while val in lis:
...     lis.remove(val)
>>> lis
[3, 4, 5, 9, 2, 6, 5]

 

مقاله پیشنهادی:‌ ایجاد کردن کد QR در پایتون

 

 #  حذف المان های لیست بر اساس شماره ایندکس

علاوه بر تابع remove چند روش دیگر برای حذف آیتم از لیست پایتون وجود دارد. میتوانید آیتم های لیست را براساس شماره ایندکس نیز حذف کنید.

 

اولین روش استفاده از del است. del یک ابزار قدرتمند در پایتون است که برای حذف کل آبجکت استفاده میشود. با del میتوانید یک المان را براساس شماره ایندکس از یک لیست حذف کنید:

>>> lis = [3, 1, 4, 1, 5, 9, 2, 6, 5]
>>> del lis[0]
>>> lis
[1, 4, 1, 5, 9, 2, 6, 5]

 

دقت کنید که del یک تابع نیست بلکه یک دستور است. اگر ایندکسی که به دستور del ارسال میکنید در لیست وجود نداشته باشد با پیغام خطای out of range مواجه خواهید شد.

 

روش دیگری که با آن میتوانید یک المان را از یک لیست حذف کنید، استفاده از تابع pop است. تابع pop ایندکس یک آیتم را گرفته و آن را حذف میکند:

>>> lis = [3, 1, 4, 1, 5, 9, 2, 6, 5]
>>> lis.pop(3)
>>> lis
[3, 1, 4, 5, 9, 2, 6, 5]

 

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

 

مقاله پیشنهادی: آشنایی با مفهوم باگ و دیباگ در پایتون

 

 #  حذف محدوده ای از المان های لیست

با استفاده از دستور del و سینتکسی که پایتون برای تکه کردن لیست ها دارد میتوانید یک محدوده از المان ها را حذف کنید:

>>> lis = [3, 1, 4, 1, 5, 9, 2, 6, 5]
>>> del lis[0:2]
>>> lis
[4, 1, 5, 9, 2, 6, 5]

 

برای حذف چند المان از یک لیست پایتونی باید از علامت دو نقطه برای انتخاب بخشی از آیتم ها استفاده کنیم. سپس با دستور del میتوانیم محدوده انتخاب شده را حذف کنیم.

 

 

 #  حذف تمام المان های لیست

برای حذف تمام عناصر یک لیست میتوانید از متد clear استفاده کنید:

>>> lis = [3, 1, 4, 1, 5, 9, 2, 6, 5]
>>> lis.clear()
>>> lis
[]

 

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

مطالب مشابه



مونگارد