با استفاده از تابع any یک تابع پایتون بنویسید که یک لیست از لیست‌های عددی و یک آستانه می‌گیرد و برای هر زیرلیست تعیین کند آیا حداقل یک مقدار بزرگتر از آن آستانه وجود دارد و لیست نتایج بولی را برگرداند.

3.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:43

0.0

برای حل این مسئله می‌توانید برای هر زیرلیست از یک عبارت تولیدی (generator expression) همراه با any استفاده کنید: any(x > threshold for x in sublist). این روش حافظه‌بهینه و ساده است. در صورت تمایل می‌توانید از numpy و تابع numpy.any برای سرعت بالاتر در داده‌های عددی بزرگ استفاده کنید. نکات: مراقب زیرلیست‌های خالی باشید (any روی یک تکرارگر خالی False برمی‌گرداند) و از تایپ‌چک ساده برای مقادیر غیرعددی در ورودی استفاده کنید تا خطاهای runtime کاهش یابد.

توسط پژوهشگر در 221 روز قبل ساعت 01:43
دسته بندی ها: Python Python for beginner
arman در 221 روز قبل ساعت 12:14

برای پیاده‌سازی، any(x > threshold for x in sublist) نتیجه‌ای بولی می‌دهد که هر زیرلیست را به طور جداگانه بررسی می‌کند. استفاده از generator expression حافظه بهینه است و به کل لیست نیاز به ساختن لیست نمی‌باشد. اگر داده‌های عددی زیادی دارید، استفاده از numpy.any روی آرایه‌های numpy می‌تواند سرعت را به طور چشمگیری افزایش دهد. به زیرلیست‌های خالی توجه کنید که any روی یک تکرارگر خالی False برمی‌گرداند و همچنین برای جلوگیری از خطاهای نوعی، در ورودی خود از یک تایپ چک ساده استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری