in range():

a = [3, 1, 3, 2, 5]    # 가로 크기를 저장한 리스트
b = []    # 빈 리스트 생성
 
for i in range(0, len(a),):      # len(a)는 그냥 리스트의 길이를 반환하였고, range라는 함수가 만들어 낸 배열 [0, 1, 2, 3, 4]이 i값으로 들어간다.
    line = []    # 안쪽 리스트로 사용할 빈 리스트 생성
    for j in range(i):    # 리스트 a에 저장된 가로 크기만큼 반복
        line.append("A")
    b.append(line)        # 리스트 b에 안쪽 리스트를 추가
 
print(b)


결과 :

[[], ['A'], ['A', 'A'], ['A', 'A', 'A'], ['A', 'A', 'A', 'A']]

두 번째 예를 비교해보면 이해가 더 쉽습니다.

a = [3, 1, 3, 2, 5]

for i in range(0, len(a),):
    print(a[i])
    
    
결과 :

3
1
3
2
5

 

in 리스트:

a = [3, 1, 3, 2, 5]    # 가로 크기를 저장한 리스트
b = []    # 빈 리스트 생성
 
for i in a:      # 가로 크기를 저장한 리스트로 반복 # 이건 리스트의 크기를 가져오는게 아니라 리스트의 값 자체를 i의 값으로 가져온다.
    line = []    # 안쪽 리스트로 사용할 빈 리스트 생성
    for j in range(i):    # 리스트 a에 저장된 가로 크기만큼 반복
        line.append("A")
    b.append(line)        # 리스트 b에 안쪽 리스트를 추가
 
print(b)


결과 : 

[['A', 'A', 'A'], ['A'], ['A', 'A', 'A'], ['A', 'A'], ['A', 'A', 'A', 'A', 'A']]

두 번째 예

a = [3, 1, 3, 2, 5]

for i in a:
    print(i)

 

 

리스트의 길이만큼 반복문을 실행한다는 것은 동일하지만 단지 길이만 반환해서 in range() 범위 안에서 숫자가 정의되는 것과 달리, in 리스트:는 해당 리스트의 값 자체를 가져온다.

 

+ Recent posts