یک تابع پایتون بنویسید که یک لیست یا آرایه از اعداد شناور را دریافت کند و با استفاده از math.isfinite یا numpy.isfinite تعداد و موقعیت (اندیسها) عناصر متناهی (نه NaN و نه ±inf) را بازگرداند.
3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 03:00 0.0
برای حل این مسئله میتوانید از ماژول استاندارد math.isfinite برای بررسی تکتک عناصر یا از numpy.isfinite برای آرایهها استفاده کنید؛ در برنامههای عددی و HPC بهتر است آرایه را به numpy.ndarray تبدیل کرده و با عملیات برداری (vectorized) و np.isfinite عملکرد سریعتری داشته باشید. نکتهها: برای یافتن اندیسها از np.where(np.isfinite(arr)) و برای شمردن عناصر متناهی از np.sum(np.isfinite(arr)) یا len(arr[np.isfinite(arr)]) استفاده کنید و از حلقههای پایتون پرهیز کنید تا سرعت افزایش یابد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پیادهسازی سریع، ترجیحاً از numpy.isfinite به جای حلقههای پایتون استفاده کنید و آرایه را به numpy.ndarray تبدیل کنید. با استفاده از np.where(np.isfinite(arr)) میتوانید اندیسهای عناصر متناهی را بدست آورید و با np.sum(np.isfinite(arr)) یا len(arr[np.isfinite(arr)]) تعدادشان را محاسبه کنید. اگر ورودی ممکن است NaN یا ±inf داشته باشد، این روش بهخوبی آنها را فیلتر میکند. برای کارایی بهتر، از عملیات برداری استفاده کنید و از حلقههای Python پرهیز کنید.
گزارش