본문 바로가기
Engineer/Juila

[Julia] 기본1 - 3. 반복문(Loop 문) 사용하기

by _제이빈_ 2021. 10. 11.

링크의 내용을 공부하며 제멋대로 번역한 내용입니다.

 


SIMPLE FOR LOOP 간단한 반복문

반복문은 다음과 같이 파이썬에 end가 붙은 요상한 짬뽕 방법이다.

for iterator in range
	excute_statements(iterator)
end

예를 들어서 100,000개의 (1/x)^2을 더하면 다음과 같다.

x=0
for k in 1:100000
	x = x + (1/k)^2
end

이 예시에서 우리가 알 수 있는 것은, 포문에서 반복되는 정수는 1:100000 따위로 콜론을 사용하면 되고, 제곱수는 ^를 사용하면 된다는 것이다.

 


NESTED FOR LOOPS 다중? 중첩? 반복문

다른 언어에 비해 신기한 구문을 가지고 있다. 배워왔던 언어들을 가지고 반복문을 여러겹 겹쳐 사용했을때는 보통 아래와 같다.

for 1 in 1:3
	for j in 1:3
    	print("i=", i, "j=", j, "\n")
    end
end

그런데 줄리아는 다음과 같이 사용할 수 있다.

for i in 1:3, j in 1:3
	print("i=", i, "j=", j, "\n")
end

한줄로 만들어 버리는 매-직.

i=1j=1  
i=1j=2
i=1j=3
i=2j=1
i=2j=2
i=2j=3
i=3j=1
i=3j=2
i=3j=3

직접 구동을 해보니, 나중에 오는 j문자가 먼저 반복한다. 위와 같은 결과를 보면 알 수 있듯이! 


ARRAY COMPREGENSIONS AND GENERATORS 변수 정의 시 루프문

 

어레이도 깔삼하게 정의 가능하다.

v = [1/n^2 for n=1:100000]
x = sum(v)

이렇게 대괄호로 정의할 경우 v라는 어레이를 저장하고, 합을 구해 x에 저장한다. 반면 괄호로 정의할 경우 조금 다르다.

gen = (1/n^2 for n=1:100000)
x = sum(gen)

Generator라는 객체를 생성한다. 대괄호를 사용하는 경우 어레이를 저장하는 메모리를 사전에 할당하는데, 제너레이터는 그렇지 않다. 필요한 경우에만 계산하게 된다.  

반응형

댓글