در پایتون تابعی بنویسید که یک لیست یا آرایهٔ عددی را گرفته و لگاریتم طبیعی (log پایه e) هر عنصر مثبت را محاسبه کند و نتایج را به صورت آرایهای جدید بازگرداند.
8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:37 0.0
برای محاسبه لگاریتم میتوانید برای نمونههای تک از math.log استفاده کنید اما برای دادههای عددی بزرگ و عملکرد بهتر از numpy.log استفاده کنید؛ ابتدا ورودی را به numpy.array تبدیل و نوع داده را float تنظیم کنید، سپس با numpy.where یا فیلتر کردن مقادیر غیرمثبت را مدیریت (مثلاً خطا دادن یا قرار دادن NaN) کنید. نکتههای عملکردی: از حلقهٔ پایتون پرهیز کنید و از برداریسازی numpy برای سرعت بهتر در محاسبات علمی/عددمحور بهره ببرید؛ در صورت نیاز به سرعت بالاتر میتوانید از numba برای جِستوجوش بیشتر استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پیادهسازی سریع و برداری از numpy استفاده کنید: ورودی را به numpy.array با dtype=float تبدیل کنید و از np.log برای مقادیر مثبت استفاده کنید. برای مدیریت مقادیر غیرمثبت، مقادیر غیرمثبت را با np.nan جایگزین کنید (مثلاً np.where(x > 0, np.log(x), np.nan)). با فعالکردن np.errstate میتوانید هشدارهای مربوط به log(0) یا منفیها را خاموش کرده و خروجی تمیز نگه دارید. در نهایت برای بهبود کارایی میتوانید از numba یا سایر روشهای JIT استفاده کنید.
گزارش