파이썬에서 언더스코어_
는 여러가지 역할을 한다.
위 블로그에 따르면 크게 5가지 정도의 용례가 있는 듯 하지만, 우선 지금 내 수준에서 가장 많이 사용 될 세 가지를 정리해보고자 한다.
i_am_happy = 'i am happy'
hello_world = 'hello world'
가장 대표적인 경우다.
언더스코어_
는 변수 네이밍을 할 때 단어 사이를 이어준다.
(스네이크 표기법)
언더스코어_
는 파이썬 인터프리터에서 가장 마지막 실행된 값을 저장해둔다.
언더스코어_
는 특정 값을 무시하기 위해서 쓰이기도 한다.
# 언패킹시 특정값을 무시한다.
a, _, b = (0, 1, 2) # a = 0, b = 2
# 인덱스를 무시한다.
for _ in range(5):
print('hello!')
이런 식으로 무시하고 싶은 위치에 언더스코어_
를 넣어주자.
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다.
2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
def solution(arr1, arr2):
answer = [[] for _ in range(len(arr1))]
for i in range(len(arr1)):
for j in range(len(arr1[i])):
answer[i].append(arr1[i][j]+arr2[i][j])
return answer
먼저, IndexError: list index out of range
를 방지하기 위해, 리스트의 길이에 맞춰서 answer
안에 빈 리스트를 for
문으로 생성해준다.
그런 뒤, 중첩 된 for
문으로 각 리스트의 요소들을 하나씩 더해서 answer
에 append
해, return한다.
근데 이렇게 하면 for
문이 너무 많아서 그닥 시간복잡도 측면에서 좋은 코드라는 생각이 들지 않는다...
def solution(arr1, arr2):
for i in range(len(arr1)):
for j in range(len(arr1[0])):
arr1[i][j] += arr2[i][j]
return arr1
와...
그냥 arr1
자체에 값 하나씩을 더해주면 된다.
이러면 굳이 빈 리스트를 생성해줄 필요도 없고, 이미 주어진 값 arr1
자체를 리턴해버리면 된다.
내 코드에서 부족했지만 어떻게 고쳐야 할지 모르겠는 부분을, 상대방의 코드를 보면서 공부해가면 조금 더 이해가 잘 된다.
이렇게 보는 안목을 조금씩 넓혀가다보면 좀 더 컴퓨팅적 사고(...)에 도달할 수 있겠지.
DELETE
메소드를 사용해 send 했는데, 게시글은 삭제가 되지 않고 response
가 200
으로 오고있다.
뭐가 문제냐!!!!
❗ 끝에 /
안붙여줬잖아!!! ❗
끝에 제대로 /
를 붙여주지 않으면 메소드가 제대로 작동이 안된다... 유의하자!!!!