728x90
반응형
문제
리스트를 아래와 같이 출력하라.
my_list = ["가", "나", "다", "라", "마"]
가 나 다
나 다 라
다 라 마
내풀이
my_list = ["가", "나", "다", "라", "마"]
for i in range(1,4):
print(my_list[i-1] , my_list[i], my_list[i+1])
결과값
가 나 다
나 다 라
다 라 마
정답
인덱싱을 사용해서 코드를 작성해보면 인덱스간의 규칙관계가 눈에 들어옵니다. 같은 행에 있는 두 개의 데이터는 인덱스가 +1 차이납니다. 또한 행이 증가할 때마다 인덱스가 +1 씩 증가합니다. 045번 문제와 다른점은 한 행에 출력되는 데이터가 3개라는 것입니다.
print(my_list[0], my_list[1], my_list[2])
print(my_list[1], my_list[2], my_list[3])
print(my_list[2], my_list[3], my_list[4])
for문내의 print 문에 출력하고 싶은 값의 위치를 나열합니다. i가 0일 때는 0, 1, 2 위치의 값이 출력됩니다. i가 1일 때는 1, 2, 3 위치의 값이 출력됩니다. * i가 2일 때는 2, 3, 4 위치의 값이 출력됩니다.
for i in [0, 1, 2]:
print(my_list[i], my_list[i+1], my_list[i+2])
보다 일반적인 형태로 코드를 변경해 봅시다. 아래 세 개의 코드는 모두 동일한 결과를 출력합니다. 인덱스를 만들어 내는 것과, 인덱싱의 코드가 변하는 것을 눈여겨 보세요.
for i in range( len(my_list) - 2 ):
print(my_list[i], my_list[i+1], my_list[i+2])
for i in range( 1, len(my_list) - 1 ):
print(my_list[i-1], my_list[i], my_list[i+1])
for i in range( 2, len(my_list) ):
print(my_list[i-2], my_list[i-1], my_list[i])
코드를 한번씩 써보면서 꼭 인덱스 활용에 익숙해지세요 !
728x90
반응형
'Coding > 초보자를 위한 파이썬 300제' 카테고리의 다른 글
초보자를 위한 파이썬 300제 // 178 abs() (0) | 2021.02.07 |
---|---|
초보자를 위한 파이썬 300제 // 177 index (0) | 2021.02.07 |
초보자를 위한 파이썬 300제 // 175 index (0) | 2021.02.06 |
초보자를 위한 파이썬 300제 // 174 for문 range() (0) | 2021.02.06 |
초보자를 위한 파이썬 300제 // 173 for문 range() (0) | 2021.02.06 |
댓글