از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش حذف موارد از لیست در حین تکرار
تکرار بر روی فهرستی از اشیاء در پایتون برای دسترسی و تغییر آنها، کاری رایج در هنگام کدنویسی است. این وضعیت خاص زمانی اتفاق میافتد که شما سعی میکنید آیتمها را از فهرست حذف کنید، در حالی که روی آن تکرار میشوید. به این ترتیب، شما به طور موثر طول لیست را در حین دسترسی به عناصر آن تغییر میدهید، بنابراین با رفتار غیرمنتظره مواجه میشوید.
هشدار: به طور کلی، حذف عناصر از یک لیست در حین تکرار بیش از آن در پایتون است ایده خوبی نیست و تمرین خوب توصیه می کند که از آن جلوگیری کنید. این بایت برای کسانی منتشر شد که با دانستن این موضوع دوست دارند عملیات را ادامه دهند. بعضی ها زندگی خطرناک را دوست دارند!
بیایید با این فرض ادامه دهیم که باید عناصر را با استفاده از فهرست حذف کنید معناشناسی در محل. فرض کنید لیستی از اعداد صحیح دارید و می خواهید همه اعداد فرد را حذف کنید:
numbers = list(range(1, 25))
حذف همه اعداد فرد از یک لیست برابر است با باقی گذاشتن تمام اعداد زوج در لیست – این رویکردی است که ما در پیش خواهیم گرفت. بنابراین، بیایید روشی ایجاد کنیم که بررسی کند آیا عدد ارسال شده زوج است یا خیر True
اگر باشد:
def even(num):
if num % 2 == 0:
return True
return False
اکنون می توانیم از آن استفاده کنیم even()
روش حذف تمام اعداد فرد از numbers
فهرست در حین تکرار روی آن:
numbers(:) = (n for n in numbers if even(n))
این موضوع را تغییر خواهد داد numbers
لیست کنید بنابراین اکنون فقط شامل اعداد زوج است:
(2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24)
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-04 11:08:04