본문 바로가기
TIP/Python

[Python] Tips - Extending

by SeolLab. 2023. 3. 2.
728x90
  1. extend()함수 
N =[]
while True:
    N.extend(list(map(int,input().split())))
    if 0 in N:
        N.remove(0)
        break

위 코드에서 extend()대신 append()를 쓰면 while루프를 절대 탈출하지 못한다. if 0 in N조건을 만족하는 경우가 절대 존재하지 않기 때문이다. 가령 입력값이 1 2 3 4라면, N은 [[1,2,3,4]]와 같은 식으로 저장된다. 이는 말 그대로 리스트를 기존 N리스트에 append시키기 때문이며, 이를 해결하기 위해 리스트를 extend(확장)시켜야 한다. extend를 쓰면 동일 입력에 대해 [1,2,3,4]로 저장된다. 

 

 

 

2. max()  python 내장함수

보통 max(a1, a2) 와 같은 식으로 쓰여서 a1과 a2 중 더 큰 값을 반환하는데, 

max(lst)가 들어가면, lst라는 list에서 가장 큰 원소 값을 반환한다.

lst = [1,3]
print(max(lst))
이러면 3 출력된다. 
 
당연한 이야기지만, 
lst = [1,3,[1,3,4]]
print(max(lst))
이러면 error뜬다. 

 

3. range(a,b,c)

여기서 3번째 argument값은 0일 수 없다. 
이 코드를 해석해보면, a부터 시작해 b-1까지 c만큼 더해진다. 

당연하게도 range(0,3,-1)같은 코드는 신택스 에러다. 경고는 안뜨는데, 실행은 안된다. 

for i in range(3,0,-1):
            print(i , end = ' ')

라고 하면, 3 2 1이 출력된다. 

 

 

댓글