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.
리터럴이란 ?
김영한님의 java-start 강의를 듣고 작성하였습니다. 아주 자주 언급되진 않지만 리터럴이라는 개념이 있다. Literal 리터럴은 어원 자체로 "문자" 또는 "글자"를 의미한다. 프로그래밍 공부에서 리터럴은 사용자(개발자)가 직접 입력해 넣은 값 자체를 의미한다. 즉, 리터럴은 "변하지 않는 값" 이라고 할 수 있다. int a = 10; char b = 'b' String c = "java" 여기서 a, b, c는 변수, 10, b, java가 리터럴이다. 이처럼 개발자가 고정해놓은 값을 리터럴이라고 하고, 이 값은 직접 써넣은 것이기에 당연히 변하지 않는다. 위 코드에서 변할 수도 있는 것은 a, b, c이지, 값 자체인 10이 변할 일은 없기 때문이다.
2024. 1. 6.