목록파이썬 (8)
without haste but without rest
파이썬 클린코드 파이썬은 프로퍼티가 없다. private, protected를 강제할 수는 없지만 밑줄 하나를 통해 이를 관습적으로 사용한다. 밑줄을 두 개 쓰면 외부에 감출 수는 있지만, 맹글링을 통해 전혀 다른 이름을 생성하므로 주의가 필요하다. class Connector: def __init__(self, source): self.source = source self._timeout = 60 위 클래스에서 source를 파라미터로 받고 timeout은 self._timeout 속성은 밑줄을 추가해서 프라이빗한 필드임을 명시했다. 다만 외부에서 접근은 가능하다. class Connector: def __init__(self, source): self.source = source self.__time..
가끔씩 인터프리터가 꼬여서 현재 워크스페이스에서 어떤 인터프리터를 사용하는지 확인해야할 때가 있다. import sys print(sys.path) 다양한 방법들이 있으나 위 방법이 제일 간편했다. How to Find Path Information in Python - dummies In this article, learn about the sources of path information in Python, and how to find path information using two different methods. www.dummies.com
순열 from itertools import permutations my_list = ['0', '1', '2', '3'] print(list(map(''.join, permutations(my_list, 2)))) 조합 from itertools import combinations my_list = ['0', '1', '2', '3'] print(list(map(''.join, combinations(my_list, 2))))
0. 개요 - 장점 1. 워킹디렉토리를 변경하거나 새로 시작해도 라이브러리를 다시 설치할 필요가 없다. 2. 텐서플로우 같은 라이브러리는 가상환경을 잡고 쓰지 않으면 구동이 안되는 경우가 있다. 하지만 이 모든게 귀찮다면 colab으로 가자... 1. 아나콘다 프롬프트에서 가상환경 생성 conda create -n env_name 아나콘다 프롬프트 환경에서 해당 명령어로 가상환경을 잡을 수 있다. conda activate env_name 위 명령어로 가상환경을 구동시킬 수 있다. conda deactivate 가상환경 종료 명령어 가상환경을 처음 잡고나면 사용하고자 하는 라이브러리는 다시 설치해줘야 한다. conda install 라이브러리 2. 파이참에서 가상환경 가져오기 env_test라는 로케이션..
from collections import Counter text = ['apple', 'banana', 'apple', 'orange'] c = Counter(text) // Counter to dictionary from collections import Counter text = ['apple', 'banana', 'apple', 'orange'] c = dict(Counter(text)) print(c) print(type(c)) 언젠가 요긴하게 쓰지 않을까 싶은 함수
character = { 'name': '기사', 'level': 12, 'items': { 'sword': '불꽃의검', 'armor': {'풀':'플레이트', '하프':'하프아모'} }, 'skill': ['베기', '세게 베기', {'아주':'아주 세게 베기', '아주아주': '아주아주 세게 베기' }] } def print_dict(key, d): if type(d) is not dict: print(key, ':', d) return for k in d: if type(d[k]) is dict: print_dict(None, d[k]) elif type(d[k]) is list: for x in d[k]: print_dict(k, x) else: print_dict(k, d[k]) print_d..
# input data mylist = [ ('a', [1, 2, 3]), ('b', [2, 3, 4]), ('c', [5, 6, 7]) ] mylist.sort(key=lambda x: max(x[1])) 과제 하다가 람다식까지 찾을 줄 상상도 못했다. 근데 이건 나중에 코테에서 요긴하게 써먹을 것 같다. sort나 sorted 함수의 키 옵션에 lambda 를 써서 위처럼 정렬을 시킬 수가 있다. 위 코드 같은 경우에는 정렬시킬 기준이 리스트의 각 요소의 1번째 요소들 중에서 최대 값을 찾고 이를 기준으로 정렬시키라는 의미다. 즉 mylist의 각 요소(인자)에서의 1번째는 리스트 형태인 [1, 2, 3] , [2, 3, 4], [5, 6, 7] 이며 각각 최대 값인 3 4 7을 기준으로 정렬시킨다...