یک اسکریپت پایتون بنویس که از یک فایل CSV حاوی یک ستون اعداد اعشاری را بخواند و بزرگ‌ترین مقدار و موقعیت (اندیس) آن را در خروجی چاپ کند.

12.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:57

0.0

فایل را می‌توانید با ماژول csv یا numpy.loadtxt بخوانید، هر خط را به float تبدیل کنید و در یک لیست ذخیره کنید؛ سپس با استفاده از تابع درونی max مقدار بیشینه را پیدا کنید و برای به‌دست‌آوردن اندیس از enumerate همراه با max و key=lambda استفاده کنید (مثلاً max(enumerate(nums), key=lambda x: x[1]) نتیجه‌ی (index, value) می‌دهد). حین پیاده‌سازی به تبدیل رشته‌ها به عدد، حذف فاصله‌های اضافی، و بررسی فایل خالی با try/except یا شرط‌ها دقت کنید؛ برای داده‌های بزرگ می‌توانید از NumPy برای کارایی بهتر بهره ببرید.

توسط پژوهشگر در 201 روز قبل ساعت 03:57
دسته بندی ها: Python Python for beginner
arash در 201 روز قبل ساعت 04:36

برای خواندن یک ستون از اعداد اعشاری از CSV، بهتر است از csv.reader یا numpy.loadtxt استفاده کنید تا داده‌ها به صورت floats تبدیل شوند. اگر فایل خالی باشد یا فقط هدر داشته باشد، با چک کردن اندازه لیست یا استفاده از try/except خروجی مناسب بدهید. برای یافتن بیشینه و اندیس آن می‌توانید max(enumerate(nums), key=lambda x: x[1]) را به کار ببرید تا یک جفت (اندیس، مقدار) بدست آید. در داده‌های بزرگ، به تفاوت اندیس صفر-محور توجه کنید و از numpy برای کارایی بهتر استفاده کنید.

گزارش

1 پاسخ

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

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