리스트 복사 하는 방법
1. 슬라이싱으로 복사 >>> list1 = [1, 2, 3, 4] >>> list2 = list1[:] 슬라이싱에서 시작점과 끝점을 생략하면 리스트의 모든 요소를 의미한다. 2. list()로 묶기 >>> list1 = [1, 2, 3, 4] >>> list2 = list(list1) 복사하고자하는 리스트를 list()로 감싸고 새롭게 리스트 객체를 선언해주면 된다. 3. copy 메소드 - (추천) >>> list1 = [1, 2, 3, 4] >>> list2 = list1.copy() 가장 가독성이 좋은 방법이라 추천하는 방법이다. 참고로 copy는 시간복잡도가 O(n)이다. 4. 리스트 연산 >>> list1 = [1, 2, 3, 4] >>> list2 = [] + list1 빈 리스트를 하나 써..
2024. 3. 7.
2차원 리스트 정렬하기
2차원 list 정렬 기본적으로는 정렬은 lambda를 사용해서 정렬을 한다. 그러나 2차원 배열 lst에 대해 lst.sort()라고 하면, lambda를 안써도 디폴트로 x좌표에 대해 오름차순 정렬하고, 값이 같으면 y좌표에 대해 다시 오름차순으로 정렬해준다. Ex. 이런식으로 2차원 리스트 있다고 가정. [ [2, 1], [3, 4], [1, 2], [1, 3], [3, 2] ] 결과적으로 저 5개 덩어리는 각각이 한몸이라 x기준으로 정렬하든 y기준으로 정렬하든 같이 움직임. array.sort(key=lambda x : x[0]) # x좌표 기준으로 정렬, y좌표 그대로 둠 array.sort(key=lambda x : x[1]) # y좌표 기준으로 정렬, x좌표 그대로 둠 array.sort(k..
2024. 3. 7.
split()과 split("")의 차이점
split() 공백 개수 상관없이 싹다 한꺼번에 처리해서 덩어리만 만들어준다. 그리고 공백 뿐만 아니라 탭이나 엔터도 처리해준다. split(" ") 공백 1개를 기준으로 싹다 처리해서, 공백이 2개면 " "도 덩어리로 만들어줌 Ex) iaa = "i am kwang hwi" \ "you can do it !!!" print(iaa.split()) print(iaa.split(" ")) split() : ['i', 'am', 'kwang', 'hwiyou', 'can', 'do', 'it', '!!!'] split(" ") : ['i', 'am', '', 'kwang', '', '', 'hwiyou', '', '', '', '', '', 'can', 'do', 'it', '!!!']
2024. 3. 7.