Berurusan dengan Nilai Langkah Perpuluhan dalam Fungsi 'range()' Python
Tidak dapat menggunakan kenaikan langkah perpuluhan untuk 'range() Python 'fungsi? Kebimbangan timbul apabila anda ingin mengulang antara 0 dan 1 dengan saiz langkah 0.1, kerana hujah langkah tidak dibenarkan menjadi sifar.
Menggunakan Pendekatan Alternatif
Untuk mengatasi had ini, elakkan menggunakan langkah perpuluhan secara langsung. Sebaliknya, nyatakan titik akhir yang dikehendaki dari segi bilangan mata yang akan dijana. Ini membantu mengelakkan ralat pembundaran titik terapung yang berpotensi menghasilkan hasil yang tidak tepat.
Memanfaatkan Fungsi 'linspace' NumPy
Fungsi 'linspace' NumPy berfungsi sebagai penyelesaian praktikal. Ia menerima bilangan mata yang diingini dan membenarkan penentuan kemasukan atau pengecualian titik akhir:
>>> np.linspace(0, 1, 11) array([ 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.]) >>> np.linspace(0, 1, 10, endpoint=False) array([ 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
Menggunakan Fungsi numpy.arange untuk Langkah Perpuluhan
Dalam kes di mana terapung- nilai langkah mata adalah penting, numpy.arange boleh digunakan:
>>> import numpy as np >>> np.arange(0.0, 1.0, 0.1) array([ 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
Walau bagaimanapun, adalah penting untuk mengambil kira kemungkinan ralat pembundaran titik terapung, yang boleh membawa kepada hasil yang salah, seperti yang digambarkan di bawah:
>>> numpy.arange(1, 1.3, 0.1) array([1. , 1.1, 1.2, 1.3])
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Urutan dengan Langkah Perpuluhan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!