0.파이썬을 사용해서 코드를 짜면서 많이 하는 것이 반복적인 작업에 대한 자동화입니다. 이때 가끔은 for문을 통해 float 타입 증감변수를 사용해서 Iteration 합니다. 파이썬에 입문하는 초심자들이 해당 방법을 잘 모를 수도 있겠다고 판단해서 공유하고자 글을 작성합니다.
이번 포스팅에서는 파이썬 for문 float 변수 사용 2가지 방법에 대해 공유하고자합니다. 한가지 방법은 리스트를 사용하는 방법이며 또 한가지 방법은 Numpy 패키지를 활용한 방법입니다. 두 방법 모두 장단점이 있으며, 적절히 선택해서 사용하면 좋습니다.
리스트를 사용한 파이썬 for문 float 변수 사용 방법
리스트를 사용해서 for 루프를 돌릴 수 있습니다. 다만, 귀찮게도 리스트를 수기로 작성해주어야합니다. 이상하게도 코드를 직접 써넣는 것은 귀찮지 않은데 숫자를 입력하는 것은 귀찮게 느껴집니다. 실제로 작성하는 코드양은 비슷할텐데 말입니다.
Iteration = [0.01, 0.03, 0.05, 0.07, 0.09, 0.11]
for i in Iteration:
print(i)
위 코드와 같이 리스트로 원하는 float 변수를 입력한 뒤에 for문으로 Iteration 해주면 됩니다. 굉장히 간단한 방법이지만 Iteration 횟수가 많아진다면 해당 방법은 귀찮은 방법이 됩니다.
다음으로 제시하는 Numpy를 사용한 방법은 귀찮지 않은 방법입니다. 제가 주로 사용하는 방법이며, 해당 방법을 사용하기 위해서는 Numpy 패키지를 사용해야합니다.
Numpy를 사용한 파이썬 for문 float 변수 사용 방법
넘파이 패키지를 사용하면 float 타입 변수로 구성된 리스트를 자동으로 생성할 수 있습니다. 입력되는 값은 시작 값, 종료 값, 간격입니다. 아시는 바와 같이 파이썬은 종료 값을 반환하지 않습니다. 종료 값으로 3을 입력하면 2까지만 출력된다는 말입니다.
아래 코드는 위 리스트를 사용한 방법과 동일한 결과가 출력되도록 예제를 구성했습니다. 유심히 봐야할 코드는 numpy 패키지의 arange 매서드의 종료 값입니다.
import numpy as np
# np.arange(초기값, 종료값, 간격)
Iteration = np.arange(0.01, 0.12, 0.02)
for i in Iteration:
print(round(i, 5))
위 코드와 같이 시작 값을 0.01로 설정했습니다. 종료 값은 0.11보다 크고 여기에 간격을 더한 0.13보다 작은 값을 입력해줘야합니다. 저는 통상적으로 마지막 값에 간격을 2로 나눈 값을 더한(0.11+0.02/2) 값을 종료값으로 입력합니다.
또하나 해줘야하는 작업이 있습니다. 계산과정에서 부동소수점에 의해 0.49999999996 이런식으로 i가 출력되기 때문에 반올림 내장 함수인 round를 사용해서 반올림을 해주고 변수로 사용해야합니다. 반올림 자릿수는 상황에 맞게 적절히 입력해줘야합니다.
마치며
이번 포스팅에서는 파이썬 for문 float 변수 사용 2가지 방법에 대해 알아보았습니다. Numpy를 사용하면 귀찮은 일이 적어지지만 그만큼 생각해야하고 경험해봐야하는 것들이 있습니다. 반면에 손수 리스트에 원하는 숫자를 입력하면 뇌는 고생을 안하지만 손이 고생합니다.
따라서, 사용시에 적당히 판단해보시고 적당한 방법을 선택해서 적용하시는 것이 좋습니다. Iteration 횟수가 몇번안되는데 뇌를 쓸 필요는 없다고 생각합니다. 결국 시간은 비용이기 때문에 시간을 적게 잡아먹는 것을 사용하는 것이 중요합니다.
댓글