- 일반적으로 리스트를 출력하면 다음과 같다 ns = [n for n in range(3)] print(ns) 이것의 결과는 [0, 1, 2] 이것은 리스트라는 형태로 packing 된 상태이다 - 언패킹하여서 요소를 콤마(,) 로 구분지어서 풀어서 나열하는 것을 unpacking 이라고 한다 ns = [n for n in range(3)] print(ns[0], ns[1], ns[2]) print(*ns) 요소를 각각 나누어서 출력하는것을 언패킹하여 출력하는 것은 동일한 값을 갖는다 0 1 2 0 1 2 - 언패킹을 할때는 리스트, 튜플, 딕셔너리 등 앞에 *을 붙여주면 된다. a, b, *c, d = 1, 2, 3, 4, 5, 6 print(a, b, c, d)이렇게 대입하면 1 2 [3, 4, 5] 6
- append, del, remove pop 사용하지 않고 구현 - push: 리턴값이 없고 매개변수는 정수하나만 받는다. - pop: 매개변수는 없고 리턴값은 스택안에 가장 마지막에 들어온 값을 리턴 - 스택의 사이즈는 10개로 한정 class Stack: def __init__(self, size): self.size = size self.data = [0] * self.size self.cur = 0 def is_contain(self): return bool(self.cur) def push(self, n): if self.cur < self.size: self.data[self.cur] = n self.cur += 1 def pop(self): if self.is_contain(): self...
- append, del, remove pop 사용하지 않고 구현 - enqueue : 리턴값이 없고 매개변수는 정수하나만 받는다. - dequeue: 매개변수는 없고 리턴값은 큐안에 가장 먼저 들어온 값을 리턴 - 큐의 사이즈는 10개로 한정 class Queue: def __init__(self, size): self.size = size self.data = [0] * self.size self.idx = 0 def is_contain(self): return bool(self.idx) def enqueue(self, n): if self.idx < self.size: self.data[self.idx] = n self.idx += 1 def dequeue(self): if self.is_conta..
[비상업적 라이센스 연장] 비상업적으로 사용만을 한다고 연장 신청을 하면 영업일 기준 1~3일 안에 연장을 해줍니다. 비상업적 용도라는게 로그를 통해 증명되면 영구히 무료로 사용가능하다고 합니다. 팀뷰어 메뉴에 피드백하기, 혹은 만료되었을때 기간연장하기를 누른다. 그리고 비상업적 이용이라고 밝히고 로그파일을 첨부한다. 로그 파일은 윈도우키 + r > appdata > local or roaming 두개의 폴더아래 teamviewer 폴더 아래 여기 아래에서 .log 파일일 것이다. [프로그램 이용하여 리셋] 팀뷰어를 쓰다가 갑자기 라이센스가 만료 되었다고 나와서 난감한 적이 있다. 개인도 일정 이상 사용하면 구매를 해야 하는거 같다 이때 두가지를 해야 한다. 설정 제거 까지 완전히 삭제한 후 맥 어드레스..
[generator expression] - generator 는 링크드 리스트 처럼 순차적으로만 접근이 가능하고 리스트나 튜플처럼 인덱싱으로 접근할 수 없다 ns = (n for n in range(10)) 이런식으로 생성할 수 있다. 단 이건 튜플 컴프리헨션이 아니다, 혼동 없길 바란다. print(ns.__next__()) print(ns.__next__()) print(ns.__next__())위의 코드로 순차적으로 접근 할 수 있다. for n in ns: print(n)이런식으로도 접근이 가능하다. 객체의 사이즈도 특징인데 list 와 동일 요소를 가지고 있는 경우 더 차이가 있다.import sys ns1 = (n for n in range(1000)) ns2 = [n for n in ran..
[사칙연산] - 두 숫자와 1개 연산자를 입력 받으면 계산의 결과를 리턴하는 함수를 작성한다. - 길이 3의 리스트 cmd 를 매개변수로 받는다. - 리스트의 요소는 모두 문자열이고, cmd[0], cmd[2] 숫자로 된 문자열로 되어있고, cmd[1] 는 연산자다. 예시) 입력> ["1", "+", "2"]결과 > 3 입력> ["1", "-", "2"]결과 > -1 입력> ["1", "*", "2"]결과 > 2 입력> ["1", "/", "2"]결과 > 0.5 추가로 0 으로 나눌때 경우, 예외처리와 계산 타이밍을 고민해 부자. lambdadef operator1(ns: list, ops="+-*/")->str: ns[0], ns[2] = float(ns[0]), float(ns[2]) fs = (la..
-정규식으로 코드가 간단하지만 성능이 느리다. import re def is_bracket(s, p=""): while s != p: p = s s = re.sub(r"[\(][^\(\)]*[\)]", "", s) return not ("(" in s or ")" in s) -스택을 이용한 빠른 방법def is_bracket(s): sk = [] for c in s: if c == "(": sk.append(c) elif c == ")": if bool(sk): sk.pop() else: return False return not bool(sk)
전체 리스트 ns 에 대해서ns = [i for i in range(10)] [인덱스 2~끝]print(ns[2:]) [뒤에서 부터 3개를 제외한]print(ns[:-3]) [뒤에서 3개만]print(ns[-3:]) [인덱스 2~4 까지] print(ns[2:5]) [맨앞에서 4개 , 그다음 3개 , 그다음 3개를 자른 다음에 이어 붙이면] print(ns[:4] + ns[4:7] + ns[7:]) [리스트 전체 역순으로 나열하면]print(ns[::-1]) [인덱스 3~5를 역순으로 나열]print(ns[5:2:-1])
[1~n 까지의 합 리턴]def foo(n): s = 0 for i in range(1, n+1): s += i return scomprehensiondef foo(n): return sum([i for i in range(1, n+1)])rangedef foo(n): return sum(range(1, n+1)) [1~n 까지 짝수의 합 리턴]def foo(n): s = 0 for i in range(1, n+1): if i % 2 == 0: s += i return scomprehensiondef foo(n): return sum([i for i in range(1, n+1) if i % 2 == 0]) [1~n 까지 홀수의 합 리턴]def foo(n): s = 0 for i in range(1, n..
리스트를 생성하는 생성하는 컴프리헨션을 리스트 컴프리헨션이라고 한다. ns = [] for n in range(10): ns.append(n) 위의 코드를 컴프리헨션으로 작성 ns = [n for n in range(10)] 조건문을 적용할 수도 있다. ns = [] for n in range(10): if n % 2: ns.append(n) 위를 컴프리헨션으로 작성하면 ns = [n for n in range(10) if n % 2] 다중 for 문과 if 문을 적용할수도 있다. items = [] for c in ["a", "b", "c"]: for j in range(10): if j < 5 and j % 2: items.append((c, j)) 컴프리헨션으로 작성하면 items = [(c, j)..
- Total
- Today
- Yesterday
- wsgi
- 문서 비교
- 면접정답
- 파이썬 프로그래밍
- 이미지 비교
- 모바일 스킨 적용
- gitlab
- django chatbot
- chatbot
- 파이썬
- 엑셀 비교
- virtualenv
- 파이썬 독학
- 파이썬 강좌
- 장고 카톡 자동응답
- 장고
- 모바일 테마 적용
- pycrypto
- 장고 플러스친구 자동응답
- 문과 코딩
- 플러스친구 자동응답
- gitignore
- 파이썬 입문
- PuTTYGen
- django
- admin.py
- GIT
- 면접답변
- Python
- Tistory
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |