알고리즘을 풀다 신기한 문법을 보았다.
파이썬에서 *은 컨테이너 타입으로 만들어진 데이터를 unpacking 할 때 사용된다고 한다.
특정 함수가 가변인자를 전달받고 함수를 호출할때 list tuple을 파라미터로 전달될때 사용된다
예시로 이해하는게 편하다
input_data = [1, 2, 3, 4]
def print_all(*input_nums):
print(input_nums)
print_all(*input_data) # 입력이 1, 2, 3, 4로 변경되어 들어감
공백을 자동으로 넣어서 출력한다
arr = [1,2,3,4,5]
print(*arr) //1 2 3 4 5
for i in arr:
print(arr,end = ' ') //1 2 3 4 5
코드가 한줄로 줄어드는 것을 확인 할 수 있다
arr = [1,2,3,4,5]
for i in range(0,5,2):
print(*arr)
결과값
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
for i in range(0,5):
print(*arr[i:i+2])
결과값
1 2
2 3
3 4
4 5
5
for i in range(0,5,2):
print(*arr[i:i+2])
결과값
1 2
3 4
5
공백을 넣어서 출력후, 20의 배수만큼 줄바꿈
for i in range(0, n, 20):
print(*arr[i:i+20])
마지막꺼 ㅎ 이해하기 어렵다 예시별로 뜯어봤는데도 다시봤을때 이해못한다 난 컴퓨터 아니니 걍 코드가 조금더 길어지더라도 직관적으로 쓰자 ㅎ