Python에서 부동 숫자 범위 가져 오기
-
Python에서
numpy.arange()
메서드를 사용하여 부동 소수점 숫자 범위 가져 오기 - Python의 리스트 내포을 사용하여 부동 소수점 숫자 범위 가져 오기
- Python의 Generator Comprehension을 사용하여 부동 소수점 숫자 범위 가져 오기
- Python의 Generator 함수를 사용하여 부동 소수점 숫자 범위 얻기
-
Python에서
numpy.linspace()
메서드를 사용하여 부동 소수점 숫자 범위 가져 오기
이 자습서에서는 Python에서 부동 소수점 값 시퀀스를 가져 오는 다양한 방법을 살펴 봅니다. 단계 크기가0.1
인 일련의 숫자가 필요하지만 문제는range()
함수가 float를 입력으로 받아들이지 않고 대신TypeError
를 반환한다는 것입니다.
아래에 설명 된 방법을 사용하여 Python에서 균일 한 단계 크기로 부동 소수점 값 시퀀스를 생성 할 수 있습니다.
Python에서numpy.arange()
메서드를 사용하여 부동 소수점 숫자 범위 가져 오기
numpy.arange(start, stop, step)
메소드는step
값과 동일한 단계 크기로start
및stop
값 내의 일련의 값을 리턴합니다. start
및step
인수의 기본값은 각각 0과 1입니다.
numpy.arange()
메소드 사용의 장점은 float 값의 범위를 생성 할 수 있다는 것입니다. 그러나 이것은 Python의 기본 기능이 아니며이를 사용하려면NumPy
라이브러리가 필요합니다.
아래 예제 코드는numpy.arange()
메소드를 사용하여0.1
과 같은 단계 크기로0
에서1
까지의 값 시퀀스를 가져 오는 방법을 보여줍니다.
import numpy as np
seq = np.arange(0, 1, 0.1)
print(seq)
출력:
[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
Python의 리스트 내포을 사용하여 부동 소수점 숫자 범위 가져 오기
리스트 내포은 Python의 기존 목록에서 새 목록을 만드는 구문 방법입니다. range()
메소드에 의해 반환 된 값 시퀀스에서 새 목록을 생성하여 부동 값의 범위 또는 시퀀스를 생성 할 수 있습니다.
range()
메소드는 정수 시퀀스 만 생성 할 수 있으므로 원하는 시퀀스를 얻으려면 시퀀스의 각 값을 필요한 부동 소수점 값으로 곱하거나 나눠야합니다. 정수, 즉3
을 부동 소수점 값0.1
과 곱하면0.30000000000000004
가 반환되므로 정수를10
으로 나누는 것이 부동 값 시퀀스를 생성하는 데 선호되어야하는 이유입니다.
아래 예제 코드는 리스트 내포 메서드를 사용하여 Python에서 float 값의 범위 또는 시퀀스를 가져 오는 방법을 보여줍니다.
seq = [x / 10 for x in range(0, 10)]
print(seq)
출력:
[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]
Python의 Generator Comprehension을 사용하여 부동 소수점 숫자 범위 가져 오기
생성기 이해는 Python에서 반복 가능한 생성기 객체를 생성하는 목록 이해와 유사한 구문 접근 방식입니다. next()
메소드를 사용하여 생성기에서 새 값에 액세스하거나for
루프를 사용하여 전체 시퀀스를 반복 할 수 있습니다.
아래 예제 코드는 생성기 이해를 사용하여 Python에서 부동 소수점 범위를 가져 오는 방법을 보여줍니다.
seq = (x / 10 for x in range(0, 10))
for x in seq:
print(x, end=" ")
출력:
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Python의 Generator 함수를 사용하여 부동 소수점 숫자 범위 얻기
생성기 이해가 Python에서 생성기 객체를 가져 오는 간결하고보다 간단한 방법이지만 생성기 함수는start
,stop
및step
값을 사용하여 부동 소수점 값 범위를 가져 오는 재사용 가능하고 더 나은 방법입니다. 우리가 선택한.
아래 예제 코드는 Python의range()
함수와 유사한yield
키워드를 사용하여 생성기 함수를 만드는 방법을 보여줍니다.
def myrange(start, stop, step):
while start < stop:
yield start
start = start + step
seq = myrange(0.0, 1.0, 0.1)
for x in seq:
print(x)
Python에서numpy.linspace()
메서드를 사용하여 부동 소수점 숫자 범위 가져 오기
numpy.arange()
메소드와 같은numpy.linspace()
메소드는start
값에서stop
값까지 일련의 값을 반환합니다. step
인수 대신numpy.linspace()
메소드는start
에서stop
값까지 생성 할 값의 수를 지정하는num
인수를 사용합니다.
따라서numpy.linspace()
메소드에num
값의 수를 제공해야합니다. 다음 공식은start
,stop
및step
값을 사용하여num
의 값을 계산할 수 있습니다.
num = (stop - start)/step
아래 예제 코드는numpy.linspace()
를 사용하여step
가0.1
과 같은0
에서1
까지의 부동 소수점 범위를 생성하는 방법을 보여줍니다. 필요한 시퀀스의num
값은(0 - 1)/0.1 = 10
입니다.
seq = np.linspace(0, 1, 10, endpoint=0)
print(seq)
출력:
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]
endpoint
인수는 시퀀스가 기본적으로0
에서 시작하므로 시퀀스의 마지막 값을 포함할지 여부를 지정합니다.