Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menjana Urutan dengan Langkah Perpuluhan dalam Python?

Bagaimanakah Saya Boleh Menjana Urutan dengan Langkah Perpuluhan dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-12-11 08:39:13751semak imbas

How Can I Generate Sequences with Decimal Steps in Python?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn