یک تابع پایتون بنویسید که یک لیست یا آرایه از اعداد شناور را دریافت کند و با استفاده از 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)]) استفاده کنید و از حلقه‌های پایتون پرهیز کنید تا سرعت افزایش یابد.

توسط پژوهشگر در 202 روز قبل ساعت 03:00
دسته بندی ها: Python Python for beginner
sara در 202 روز قبل ساعت 07:50

برای پیاده‌سازی سریع، ترجیحاً از numpy.isfinite به جای حلقه‌های پایتون استفاده کنید و آرایه را به numpy.ndarray تبدیل کنید. با استفاده از np.where(np.isfinite(arr)) می‌توانید اندیس‌های عناصر متناهی را بدست آورید و با np.sum(np.isfinite(arr)) یا len(arr[np.isfinite(arr)]) تعدادشان را محاسبه کنید. اگر ورودی ممکن است NaN یا ±inf داشته باشد، این روش به‌خوبی آنها را فیلتر می‌کند. برای کارایی بهتر، از عملیات برداری استفاده کنید و از حلقه‌های Python پرهیز کنید.

گزارش

1 پاسخ

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

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