본문 바로가기

Computer Science/[20-3,4] Python Basic24

[Python] 딕셔너리 키와 값을 서로 바꾸기 - 값이 군집자료형 key가 스트링일 때 딕셔너리 키와 값 바꾸는 방법: https://jiwonkoh.tistory.com/12 [Python] 딕셔너리 키와 값을 서로 바꾸기 >>> new_dict = {} >>> for keys, values in content.items(): new_dict[values] = keys jiwonkoh.tistory.com # content = {'0': {'O'}, '1': {'I'}, '2': {'Z', 'R'}} new_dict = {} for key, value in content.items(): for i in value: new_dict[i] = key # new_dict = {'O': '0', 'I': '1', 'Z': '2', 'R': '2'} 단순하게 값 하나하나에 대.. 2020. 3. 8.
[Python] 문자열에서 알파벳만 추출하기 ① filter 함수를 사용해서 알파벳만 남기기 a = 'There are 10 dogs' c = list(filter(str.isalpha, a)) c =''.join(c) print(c) # Therearedogs a = 'There are 10 dogs' c = str(filter(str.isalpha, a)) print(c) # filter 함수는 filter object를 리턴하기 때문에 list()로 감싸줘야 한다. ② List Comprehension 사용하기 a = 'There are 10 dogs' c = [i for i in a if i.isalpha()] c = ''.join(c) print(c) # Therearedogs 2020. 3. 6.
[Python] text file에서 알파벳이 있는 위치 찾기 # 문제 튜플 (파일의 row, 파일의 column, 위치 딕셔너리) 를 출력한다. 위치 딕셔너리는 key가 위치를 나타내는 튜플, value가 character이다. (모든 line당 character수는 동일) def findAlpha(filename): filename = open(filename, 'r') pos, row = {}, 0 for line in filename: for c in line: if c.isalpha(): pos[(row, line.find(c))] = c row += 1 col = len(line) return row, col, pos ① open()을 이용해서 text file을 read 모드로 연다. ② text file을 한 줄씩 읽고, 그 줄을 한 문자씩 읽으면서 .. 2020. 3. 5.
[Python] 클래스 메소드 __str__, __repr__ 의 차이 파이썬에는 클래스가 언어의 연산자에 대해 자기 자신의 동작을 정의할 수 있도록하는 특수한 메소드들이 있다. __str__과 __repr__도 그 중 하나이다. ① __str__ external string representation을 반환한다. 따라서 print와 비슷한 역할을 한다. ② __repr__ internal string representation을 반환한다. 즉, 파이썬에서 해당 객체를 만들 수 있는 문자열이다. → Returns a string representation that makes sense to the Python interpreter. = Correct Python expression. class ThisClass: def __repr__(self): return "functi.. 2020. 3. 4.
[Python] Slice position과 Index position 2020. 3. 3.
[Python] 에러 내용을 경우에 따라 바꾸면서 AssertionError 발생시키는 방법 Assertion Error란 조건이 거짓인 경우에 실행을 중단시키고 내는 에러를 말한다. 1. assert assert [조건], [에러 내용] assert는 조건을 만족하지 않을 경우에 에러를 발생시킨다. # letter이 string type이 아닌 경우에 error를 발생시킨다 >>> assert type(letter) == str, 'invalid type' # Traceback (most recent call last): # AssertionError: invalid type 2. raise 에러 내용에 if문을 사용하고 싶다면 assert 대신 raise를 사용하면 된다. raise는 if문으로 조건을 적어준 다음에 사용한다. # 문제 ① count가 100이 아닌 경우에 error를 발생시.. 2020. 3. 3.
[Python] 딕셔너리의 value에 set 자료형 넣기 result = {} for line in filename: thisLine = line.rstrip('\n') if pattern(thisLine) in result: result[pattern(thisLine)].add(thisLine) else: result[pattern(thisLine)] = set() result[pattern(thisLine)].add(thisLine) result = {} for line in filename: thisLine = line.rstrip('\n') if pattern(thisLine) in result: result[pattern(thisLine)].add(thisLine) else: result[pattern(thisLine)] = {thisLine} res.. 2020. 3. 1.
[Python] 딕셔너리 키와 값을 서로 바꾸기 >>> new_dict = {} >>> for keys, values in content.items(): new_dict[values] = keys 2020. 2. 26.