파일을 읽고 쓰는 일은 생각보다 자주 하게 됩니다. 이번 시간에는 파이썬으로 텍스트 파일을 읽는 법에 대해서 간단하게 다뤄보겠습니다. in1.txt에는 이런 내용이 저장되어 있어요. 우리의 목표는, 파일에 저장되어 있는 내용을 그대로 출력하는 것이 목표입니다. 어떻게 하면 좋을까요? 우리가 알아야 할 내용은 딱 2개입니다. with open 절과, 현재 line을 iteration으로 얻어오는 것. 먼저 with open 절은 저 같은 경우 아래와 같이 많이 씁니다. 보통, 저는 파일 객체를 다룰 때 f라고 많이 합니다. 요래 하면, file_name을 file_open_mode로 엽니다. 파일의 모드는 'r', 'w' 등이 있을 겁니다. 여기에서는 읽기 모드로 연다고 했으므로, 모드를 'r' 로 하면 ..
코딩/파이선 검색 결과
저번 시간에 tuple을 이용해서 다중 정렬을 손쉽게 하는 법을 배웠습니다. 특히 정수는 오름차순 반대인 내림차순으로 비교하기 위해서, 앞에 -만 붙이면 매우 간단하게 비교할 수 있어요. 그런데 문자열은 그게 되지 않습니다. 문제 상황을 보면서 어떻게 구현하면 좋을지 천천히 생각해 보도록 합시다. 개인적으로 아래 두 개의 글을 먼저 보고 오시는 게 좋아 보입니다. [관련글] tuple로 정렬 기준을 떨어트리는 방법을 알아봅시다. 안정 정렬에 대해서 알아봅시다. solution 함수를 구현해야 하는데요. list에는 튜플이 들어 있어요. 튜플의 1번째, 2번째 요소는 소문자로만 이루어진 문자열이 들어 있어요. 1차 정렬 기준은, 1번째 요소를 사전순 내림차순으로 돌립니다. 만약에, 1번째 요소가 같은 문자..
제가 개최한 코딩 테스트 후기 글들을 꾸준히 보고 있는데요. 이 글들을 잘 보면, 생각보다 배울 만한 것들이 많았습니다. 제가 낸 문제 중에, 가희와 파일 탐색기가 있었는데요. 이 글에서는 풀이 보다는 정렬 조건이 복잡할 때, 아 이러한 패턴이 있었구나. 정도만 알고 넘어가셔도 괜찮겠다 싶어서 가지고 오게 되었습니다. 사실 이 글에서 언급하는 방법 말고도 우선순위 역순으로 n회 정렬한다던지와 같은 방법도 있는데, 이에 대해서는 나중에 언급할 기회가 있을 듯 싶어요. dsu 패턴은 생각보다 복잡하지 않아요. python에서는 여러 비교 기준이 있는 문제에서 tuple을 이용하게 됩니다. dsu는 3가지 과정으로 나뉩니다. 먼저, 데이터를 가공합니다. 어떻게 가공해야 할까요? list나 tuple은 문서에 ..
안녕하세요. 이번 시간에는 파이썬의 deepcopy에 대해 알아봅시다. 문서의 어떤 부분을 봐야 하는지 유심히 보도록 하겠습니다. 그리고, 어떻게 이러한 기능을 구현해야 하는지도 간단하게 소개해 보겠습니다. 먼저, copy는 shallow copy를 합니다. 문서에서는, compound object를 만들고, 그 안에 있는 objects들의 참조를 복사한다고 되어 있는데요. 2번째 줄에서 li는 아래와 같이 할당 되어 있어요. 그냥 간략하게만 그려 보겠습니다. li는 이런 식으로 그림이 그려집니다. 여기서 li2 = cp.copy(li)를 했는데요. 참조만 복사한다고 하였습니다. 고로, 이렇게 상황이 그려지게 됩니다. 다음에 li[2][1] = 2를 합니다. 이러면 어떻게 될까요? li[2]나 li2[2..
안녕하세요. 이 글에서는 python 문자열 자르기에 대해서 간단하게 알아보겠습니다. 먼저, 문자열 'abcdefg'가 있어요. 여기서 1번째 인덱스부터 2번째 인덱스까지 꺼내기 위해서 어떻게 하면 될까요? 2번째 줄을 보면 s[1:3]이라고 적었는데요. 이것은 1번째부터 2번째까지 뽑겠다는 의미입니다. 3번째는 포함하지 않아요. 실행 결과는 위와 같습니다. 4번째 위치부터 끝까지 뽑으려면 어떻게 해야 할까요? s[4:len(s)] 이렇게 입력하면 될까요? 그럴 필요 없어요. 단지 s[4:] 이렇게만 입력하시면 됩니다. 이것은 4번째 위치부터 끝까지 뽑겠다는 거에요. 그러면 'efg'가 print 될 거 같은데요. 정말 그런지 보겠습니다. 정말 'efg'가 뽑혔어요. 처음부터 2번째 인덱스까지 뽑는다면 ..
최근댓글