Python
-
큐(Queue)와 스택(Stack)자료구조 2019. 11. 20. 14:03
큐(Queue) 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 FIFO(First In First Out) 큐 = 한 줄 서기 먼저 들어온게 먼저 나간다. 알아둘 용어 Enqueue: 큐에 데이터를 넣는 기능 Dequeue: 큐에서 데이터를 꺼내는 기능 파이썬 라이브러리 queue Queue() : 가장 일반적인 큐 자료 구조 LifoQueue() : 나중에 입력된 데이터가 먼저 출력되는 구조(스택 구조라고 보면 됨) PriorityQueue() : 데이터마다 우선순위를 넣어서 우선순위가 높은 순으로 데이터 출력 Queue() import queue data_queue = queue.Queue()# 일반적인 큐 data_queue.put('data')# Enqueue data_queue.put(..
-
파이썬을 파이썬답게_1Python 2019. 9. 30. 11:33
프로그래머스의 파이썬을 파이썬답게 라는 강의를 보고 정리한 글이다. 몪과 나머지 - divmod 두개의 수가 주어지고 몫과 나머지를 구해야 할때가 있다. ex) 7을 3으로 나눈 몫과 나머지 구하기 일반적으로 a = 7 b = 3 print(a//b, a%b) # 2 1 방법으로 몫과 나머지를 계산 할 수 있다. 그런데 파이썬에는 divmod라는 것이 있는데 a = 7 b = 3 print(divmod(a, b)) # (2, 1) print(*divmod(a, b)) # 2 1 * 를 이용한 unpacking과 같이 사용하여 코드를 작성 할 수 있다. 무조건 divmod를 사용하는 것이 좋은 방법은 아니다. 가독성이나 스타일에 따라서 첫번째 방법을 사용할 수도 있는데 divmod는 큰 숫자를 다룰때 좀 ..
-
[Python] zip() 함수Python 2019. 9. 10. 15:52
zip(*iterable) 동일한 개수로 이루어진 자료형을 묶어 주는 역할을 하는 함수 list(zip([1,2,3], [4,5,6])) # [(1, 4), (2, 5), (3, 6) list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9])) # [(1, 4, 7), (2, 5, 8), (3, 6, 9)] list(zip("abc", "def")) # [('a', 'd'), ('b', 'e'), ('c', 'f')] a = [1, 2, 3] b = "abc" for x, y in zip(a, b): print(x, y) # 출력 1 a 2 b 3 c 리스트나 문자열들의 갯수가 맞지 않은 경우 해당 값은 출력되지 않는다. a = [1, 2, 3, 4, 5] b = "abc" for x, ..
-
Python Anaconda 가상환경 설정하기Python 2019. 8. 29. 15:13
Anaconda Python 기반의 데이터 분석에 필요한 오픈소스들을 모아 놓은 개발 플랫폼 Anaconda를 이용해서 가상환경을 사용하면 여러 프로젝트를 할때 프로젝트 마다 다른 버전의 패키지들을 사용하는데 편리함이 있다. Anaconda navigator GUI를 이용하기 가상환경 만들기 Anaconda Navigator를 키면 아래의 이미지처럼 나온다. 왼쪽에 Environments를 누르면 가상환경 목록들을 볼 수 있다. 가상환경의 목록들의 하단을 보면 Create 버튼이 있다 이것을 이용해 가상환경을 생성 할 수 있다. 이름과 파이썬 버전을 선택하고 Create를 누르면 가상환경이 생성된다. 가상환경 제거하기 Environment 탭에서 하단을 보면 Remove 버튼이 있다. Remove를 누르..
-
SyntaxError: Non-ASCII Character 관련 에러Python 2019. 8. 12. 17:34
code내에 한글을 파이썬이 읽지 못해서 발생하는 에러 SyntaxError: Non-ASCII character '\xec' in file Finding the percentage.py on line 5, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 해결방법 # -*- coding: utf-8 -*- Python파일 첫번째 또는 두번째 줄에 입력한다. (공백이나 대소문자에 주의해야한다.) 알고보니 이 문제는 Python 버전이 2.7이라서 발생했다. 버전 3에서는 발생하지 않는다고 하니 버전을 업그레이드 해야겠다.
-
Django 를 이용한 영화 정보 사이트Project 2019. 7. 23. 14:12
주제: 영화 API를 이용해 영화 정보를 제공해주는 사이트 만들기 2인 프로젝트 날짜: 2019.05.03 ~ 2019.05.16 Django ? 파이썬으로 만들어진 오픈소스 웹 어플리케이션 프레임워크이다. 즉 웹 만드는 도구라고 볼수 있다. 이것을 이용하면 쉽고 빠르게 웹을 만들 수 있다. 참고로 이걸 쓰는 가장 큰 이유는 최근에 Django를 배웠기 때문이다. 구현 기능 영화 검색 기능 단어를 검색하여 그 단어가 영화 제목에 들어가는 영화들을 검색 결과로 보여준다. 영화 제목으로만 검색이 되거나 한글로만 검색이 되는 부족한점이 있다. 나중에 시간이 된다면 기능을 더 풍부하게 만들어보고 싶다. 만약 검색 결과가 없을 경우 결과가 없다고 화면에 보여진다. 영화 추천 기능 영화 상세페이지에 들어가면 해당 ..