내가 몰랐던 것들 in Python

hjkim·2025년 6월 9일

오늘의 삽질

목록 보기
4/4

인풋 받을 때

  • input().split() : 공백이 있는 입력. 즉, 공백 기준으로 구분
  • input().rstrip()
    //import sys
    //input = sys.stdin.readline을 해줄 경우, 끝에 포함되는 \n을 제거해주는 역할을 함.

이차원 배열의 max값 구하는 방법
max(map(max,data)

함수에 배열을 인자로 전달할 때
만약 함수의 인자에 전달된 배열을 변경하는 경우, 변경사항이 원래 배열에도 적용됨
그렇지만 함수에서 다른 배열을 할당하는 경우 새로운 배열 내용은 함수 내에서만 유지됨.
다른 배열을 가리키게 되기 때문

arr=[0 for i in range(5)]

def change(adj):
    adj=[1,1,1,1,1]
change(arr)
print(arr) //[0,0,0,0,0]

abs함수: 절댓값 계산

삼성 코테는 itertools 사용 안 된다는데..?

2차원 리스트 복사
https://aia1235.tistory.com/54
얕은 복사 주의. 이러면 변경 시 원본도 바뀌어 버림
이중배열 깊은 복사에는 두 가지 방법이 있는데,
1. import copy해서 copy.deepcopy하기
-> 시간 너무 잡아먹음 진짜
2. 리스트 슬라이싱

a = [[1,2],[3,4]]
b = a[:]

이렇게만 해버리면 얕은 복사가 됨.
그러니

b = [arr[:] for arr in a]

이렇게 하기!
[:]는 생략 가능

sorted() 함수와 reverse=True의 차이점
sorted() 함수는 새로운 리스트를 생성하여 반환하므로 원본 리스트는 변경되지 않습니다. 반면, list.sort() 메서드는 기존 리스트를 직접 변경합니다.

내림차순 정렬하고 싶을 땐 reverse=True 쓰기
ex - numbers.sort(reverse=True)

0개의 댓글