Python - dict 정렬 (Key, Value로 sorting)

dict(dictionary)를 Key 또는 Value를 기준으로 정렬하는 방법을 소개합니다. 다음과 같이 sorted()를 이용하여 dict를 정렬할 수 있습니다. 인자로 my_dict.items()를 전달하면 오름차순으로 정렬됩니다. 내림차순으로 정렬하려면 sorted()에 다음과 같이 reverse = True를 인자로 전달해야 합니다. 여기서 lambda가 인자로 전달되는데 item[0]는 dict의 key를 의미합니다.

15 Jan 2021

Python - bytes를 String으로 변환하는 방법

utf-8으로 encoding된 bytes를 String으로 다시 변환해야할 때가 있습니다. bytes를 string으로 decoding하는 방법을 소개합니다. string.decode()를 이용한 방법, str()을 이용한 방법

04 Jan 2021

Python - float을 int로 변경하는 방법

float을 int로 변경하는 방법을 소개합니다. int()를 이용하여 변환, ceil(), floor(), round()를 이용하여 변환. int()는 소수 부분을 제외한 정수를 리턴합니다. math.ceil()는 소수 부분을 정수로 올려, integer로 만듭니다. math.floor()는 소수 부분을 버리고, integer로 만듭니다. round()는 소수 0.5 이하는 버리고, 0.5를 초과하면 올립니다.

04 Jan 2021

Python - String을 bytes로 변경하는 방법

문자열을 바이트로 변경하는 방법을 소개합니다. bytes()를 이용한 방법, encode()를 이용한 방법. bytes(string, encoding)를 이용하여 string을 bytes로 변경할 수 있습니다. 변경하려는 encoding을 인자로 전달해주면 됩니다. 타입을 확인하면 bytes로 변경된 것을 볼 수 있습니다.

04 Jan 2021

Python - 문자열에서 특정 단어 추출

문자열에서 특정 단어를 추출할 때가 있습니다. 이 때 다음 방법들을 이용하면 문자열을 분리하여 특정 문자열을 추출할 수 있습니다. split()을 이용한 방법, regex(정규표현식)을 사용한 방법. split()을 사용하여 특정 문자를 기준으로 문자열을 분리할 수 있습니다.

04 Jan 2021

Python - 특정 문자열로 시작하는 문자열 찾기

startswith()를 이용하여 문자열이 특정 문자열로 시작하는지 확인할 수 있습니다. 예를 들어 다음과 같이 'Hello world, Python!'가 Hello로 시작하는지 확인할 수 있습니다. 만약 어떤 문자열이 포함하고 있는 단어들 중에, 특정 문자열로 시작하는지 확인할 수도 있습니다. split()으로 whitespace 단위로 단어들을 분리하고, 각각의 단어들에 대해서 startswith()로 특정 단어로 시작하는지 확인할 수 있습니다.

04 Jan 2021

Python - 리스트에서 첫번째, 마지막 요소 가져오는 방법

리스트에서 첫번째와 마지막 요소를 가져오는 방법을 소개합니다. list index로 첫번쨰, 마지막 요소 가져오기, list comprehension을 이용한 방법, list slicing을 이용한 방법. index를 이용하여 첫번째와 마지막 요소를 가져올 수 있습니다. list[0]이 리스트에서 첫번째, list[-1]이 리스트에서 마지막의 값을 가져옵니다.

04 Jan 2021

Python - 리스트가 비어있는지 확인

List가 empty인지 확인하는 방법을 소개합니다. 보통 다른 언어는 리스트에서 isEmpty()라는 메소드를 제공해주거나, 리스트의 길이를 계산하여 0인지 비교하여 empty인지 확인합니다. 하지만 파이썬스러운 코드가 아니라서 가능하면 이렇게 사용하지 않는 것이 좋습니다. 파이썬은 if문에서 empty list는 False를, empty가 아닌 list는 True를 리턴합니다. List에 어떤 아이템이 존재하는지 확인할 때는 not in 또는 in을 사용하면 됩니다.

03 Jan 2021

Python - dictionary의 중복 제거 방법

다음과 같이 dictionary에서 중복된 value를 갖고 있는 데이터가 있고, 이 중복된 데이터를 삭제할 수 있습니다. 중복된 데이터를 삭제하는 방법을 소개합니다. for loop를 이용한 방법, dict comprehension을 이용한 방법. for loop로 구현하는 방법은 어렵지 않습니다. 먼저 순차적으로 dict를 탐색하며 중복된 value가 있으면 필터링하여 result에 등록되지 못하도록 합니다. for loop로 구현한 것을 dict comprehension으로 구현할 수도 있습니다.

03 Jan 2021

Python - 문자열 뒤집기, 문자열 거꾸로 출력

문자열을 뒤집는 방법을 소개합니다. 문자열을 뒤집는다는 의미는 다음과 같이 Original 문자열의 마지막에서 처음 순서로 출력한다는 의미입니다. slice를 이용하면 매우 쉽게 String을 뒤집을 수 있습니다. 다음과 같이 for loop를 이용하여 순서를 뒤집을 수도 있습니다. 하지만 slice나 reversed()를 이용하는 방법이 더 간단합니다.

03 Jan 2021

Python - 현재 날짜, 시간 가져오는 방법

Python에서 datetime 모듈을 이용하여 현재 날짜 및 시간을 가져올 수 있습니다. 또한 특정한 Timezone의 시간을 가져올 수 있습니다. 다음과 같이 datetime 모듈을 이용하여 현재 시간을 가져올 수 있습니다. 다음과 같이 strftime()을 이용하여 원하는 형태로 출력할 수 있습니다. pytz 모듈을 이용하여 특정 지역의 Timezone 정보를 가져올 수 있습니다. datetime.now()에 Timezone을 인자로 전달하면 해당 지역의 시간이 리턴됩니다.

02 Jan 2021

Python - 두개의 리스트 하나로 합치기

두개의 리스트를 하나로 병합하는 방법을 소개합니다. + 연산자를 이용한 방법, extend()를 이용한 방법, zip을 이용한 방법. 다음과 같이 + 연산자를 이용하여 두개의 리스트를 하나로 합칠 수 있습니다. 다음과 같이 extend() 연산자를 이용하여 두개의 리스트를 하나로 합칠 수 있습니다. + 연산자와 다르게 새로운 리스트를 리턴하지 않고, list1에 list2의 내용이 추가됩니다.

02 Jan 2021

Python - 리스트 중복 제거

List에서 중복된 값이 있을 때, 중복을 제거하는 방법을 소개합니다. set()를 이용한 방법, for loop를 이용한 방법, list comprehension을 이용한 방법. set()는 중복된 값을 허용하지 않습니다. 따라서 list를 set로 변경하면 중복된 값이 제거되며, 그 뒤에 다시 list로 변경하면 중복된 값이 제거된 리스트가 됩니다. for loop를 이용하여 직접 중복된 값을 필터링하여 제거할 수 있습니다.

02 Jan 2021

Python - 리스트 크기(size) 구하기

리스트의 size를 계산할 때 len() 함수를 사용하면 됩니다. len()은 다음과 같이 인자로 전달된 sequence(list, tuple 등)의 크기를 리턴합니다. list 또한 collection 및 sequence에 해당하며, 다음과 같이 len()으로 크기를 계산할 수 있습니다. tuple, dictionary, range의 크기도 len()으로 계산할 수 있습니다. byte와 string의 크기도 len()으로 계산할 수 있습니다.

02 Jan 2021

Python - 2차원 리스트를 1차원 리스트로 만들기

다음과 같이 2차원 리스트를 1차원 리스트로 만드는 방법을 소개합니다. sum()은 start에 iterable의 모든 데이터를 더하는 함수입니다. itertools.chain()는 인자로 전달되는 iterable의 데이터를 연결하여 리턴해 줍니다. numpy 라이브러리를 이용하여 2차원 리스트를 1차원 리스트로 만들 수도 있습니다. reduce를 이용하여 1차원 리스트로 만들 수 있습니다. numpy array의 flatten()을 사용하여 1차원 리스트로 만들 수도 있습니다.

02 Jan 2021

Python - list의 맨 앞에 데이터 추가

list의 append() 함수는 리스트의 맨 뒤에 데이터를 추가합니다. 만약 리스트의 맨 앞에 데이터를 추가하려면 어떻게 해야 할까요? 이 글에서는 리스트의 맨 앞에 데이터를 추가하는 방법을 소개합니다. insert()를 이용한 방법, collections.deque()를 이용한 방법. insert(index, item)는 인자로 전달된 index에 아이템을 추가합니다. collections.deque()를 사용할 수도 있습니다. deque의 appendleft(item)는 deque의 맨 앞에 데이터를 추가합니다.

01 Jan 2021

Python - list의 append(), insert(), extend() 비교

list는 append(), insert(), extend() 함수를 제공하며, 이 함수로 리스트에 아이템을 추가할 수 있습니다. 특징 및 차이점에 대해서 알아보겠습니다. append(item)는 리스트의 마지막에 인자로 전달된 아이템을 추가합니다. extend(iterable)는 인자로 전달된 iterable의 모든 아이템을 리스트에 추가합니다.

01 Jan 2021

Python - 숫자를 문자로 변환 (Integer to String)

Python에서 숫자를 문자로 변환하는 다양한 방법이 있습니다. str()으로 변환, format()으로 변환, f-string으로 변환. 보통 str()으로 Integer를 String으로 변환합니다. format()으로 Intger를 String으로 변환할 수도 있습니다. f-string으로 Integer를 String으로 변환할 수 있습니다.

01 Jan 2021

Python - list를 dict로 변환하는 방법

다음과 같이 list를 dict로 변경할 수 있습니다. 이 글에서는 두가지 방법을 소개합니다. 1. dict comprehension을 이용한 방법, 2. zip을 이용한 방법. dict comprehension을 이용하여 list를 dict로 변환할 수 있습니다. zip()을 이용하여 두개의 리스트를 하나의 dict로 만들 수 있습니다. zip()은 동일한 개수로 이루어진 자료형을 묶어주는 함수입니다.

01 Jan 2021

Python - String을 문자 1개씩 나눠서 list로 변환

다음과 같이 String을 문자(char) 단위로 나누고, 그 문자들을 list로 만들 수 있습니다. 다음과 같이 두가지 방법을 소개합니다. list()를 이용한 방법, for를 이용한 방법, split()을 이용한 방법. list()의 인자로 문자열을 전달하면, 문자 단위로 나누어 list에 저장합니다. for를 이용하여 문자 단위로 순환하면서 list에 char를 추가할 수 있습니다. str.split(' ')는 문자열을 ' '로 구분하여 나누고 list로 만들어 리턴합니다.

01 Jan 2021

Python - 문자를 숫자로 변환 (String to Integer, Float)

Python에서 다음 함수를 이용하여 문자를 숫자로 변환할 수 있습니다. int()-String을 Integer로 변환, float()-String을 Float으로 변환. int()는 인자로 전달된 문자열을 Integer로 변환합니다. float()은 인자로 전달된 문자열을 Float으로 변환합니다.

01 Jan 2021

Python - 대소문자 변경 함수 (isupper, islower, lower, upper)

다음 함수는 문자열이 대문자 또는 소문자로 구성되어있는지 확인할 수 있습니다. isupper()는 모든 문자열이 대문자이면 True를 리턴, 그렇지 않으면 False를 리턴, islower()는 모든 문자열이 소문자이면 True를 리턴, 그렇지 않으면 False를 리턴합니다. 다음 함수를 이용하여 문자열을 모두 대문자로 또는 소문자로 변경합니다. upper()는 모든 문자열을 대문자로 변경, lower()는 모든 문자열을 소문자로 변경합니다.

01 Jan 2021

Python - List 정렬 방법 (String 리스트, Integer 리스트)

다음과 같이 Integer 또는 String으로 구성된 리스트를 오름차순 또는 내림차순으로 정렬할 수 있습니다. sort()는 리스트를 오름차순으로 정렬합니다. 오름차순으로 정렬된 리스트를 reverse()로 순서를 바꾸면 내림차순으로 정렬된 것처럼 됩니다. 문자열로 구성된 리스트는 먼저 Integer 리스트로 변환하고, 그 뒤에 sort()로 정렬해야 합니다.

01 Jan 2021

Python - sum()으로 리스트의 합계 계산

sum()은 list, tuple, dictionary의 합을 리턴하는 함수입니다. 숫자만 가능하며, 숫자가 아닌 객체가 있을 때 TypeError가 발생합니다. sum(iterable) - iterable의 합 리턴 , sum(iterable, start) - start + iterable의 합 리턴. tuple 또는 dictionary도 iterable이기 때문에, sum()을 사용할 수 있습니다.

01 Jan 2021

Python List, Set, Dict Comprehension

Python3에서는 List, Set, Dict에 대한 Comprehension을 지원합니다. Comprehension을 사용하는 방법과 예제들을 소개합니다.

11 Oct 2020

Python - datetime (날짜, 시간)

datetime은 날짜와 시간을 다루는 라이브러리입니다. 이 라이브러리를 활용하여 현재 시간을 구하거나, 특정 시간 포맷의 문자열로 변환할 수도 있습니다. datetime에 대해서 알아보겠습니다.

11 Oct 2020

Python - File, Directory 경로

Python에서 제공하는 File, Directory의 경로에 관련된 API를 알아보겠습니다. 현재 작업 폴더 경로, 작업 경로 변경, 작업 경로의 파일 리스트 출력, 디렉토리 이름 변경 등등.

11 Oct 2020

Python - sleep()

sleep을 이용하여 아무 작업도 하지 않고 일정 시간 대기할 수 있습니다. 다음은 2초간 대기하는 예제입니다. sleep의 인자의 단위는 second입니다. sleep의 인자로 전달되는 값은 최소 0.001 이상의 값이어야 합니다.

11 Oct 2020

Python - List Slicing

List의 아이템들에 접근할 때 Slicing을 이용하는 방법이 있습니다. 슬라이싱에서 가져올 리스트의 범위를 지정하면, 해당하는 아이템들을 새로운 리스트로 만들어 리턴해줍니다.

10 Oct 2020

Python - try except 예외 처리

Python 코드 실행 중 예외가 발생하면 프로그램이 종료됩니다. try except로 예외를 처리하여 프로그램이 종료되지 않도록 만들 수 있습니다. 예외를 처리하는 방법 및 발생시키는 방법에 대해서 알아보겠습니다.

10 Oct 2020

Python - Set

Set는 순서가 보장되지 않는 Collection입니다. 이 글에서는 Set를 사용하는 방법에 대해서 알아보겠습니다. 생성(Create), 접근(Access), 추가(Add), 삭제(Remove), 합집합(Union), 교집합(Intersection)

06 Oct 2020

Python - Math 함수(min, max, sqrt, abs, pow)

Python에서 제공하는 math 함수들을 소개합니다. 어떤 모듈도 import 하지 않고 사용할 수 있는 내장함수들이 있고, math 모듈을 import하여 사용할 수 있는 함수들이 있습니다.

02 Oct 2020

Python - Tuple

Tuple은 데이터 순서는 보장되지만 변경은 불가능한 Collection입니다. 이 글에서는 Tuple을 사용하는 방법에 대해서 알아보겠습니다. 생성(Create), 접근(Access), 업데이트(Update), 삭제(Delete), 데이터를 갖고 있는지 확인, 순회(Loop)

02 Oct 2020

Python - Dictionary

Dictionary는 key-value 형태의 데이터를 갖고 있는 Collection입니다. 다른 언어에서는 Map이라고 하지만, Python은 Dictionary라고 합니다. Dictionary를 정의하는 방법 및 아이템을 추가, 삭제하는 방법 등을 알아보겠습니다.

26 Sep 2020

Python - for in 반복문 (enumerate, range)

Python에서 for in 키워드를 사용하여 반복문을 구현할 수 있습니다. 예를 들어, for in을 사용하여 리스트의 모든 내용을 출력할 수 있습니다. List뿐만 아니라 Tuple, String, Dict 등 다양한 타입에 사용할 수 있습니다.

26 Sep 2020

Python - String split()으로 문자열 나누는 방법

Python에서 split을 사용하여 특정 문자를 기준으로 문자열을 분리할 수 있습니다. Syntax는 split(separator, maxsplit) 입니다. separator는 문자열을 나눌 때 사용할 문자입니다. 기본 값은 whitespace입니다. maxsplit는 문자열을 나눌 횟수를 지정합니다. 기본 값은 -1이며, 제한 없이 모두 나눈다는 의미입니다.

26 Sep 2020

Python - Lambda function 이해하기 (filter, reduce, map)

Lambda function은 함수를 한 줄로 정의하는 문법입니다. 인자의 개수에는 제한이 없지만, 표현식(expression)은 1개만 정의되어야 합니다. Lambda는 filter, reduce, map 등의 함수들고 함께 사용될 수 있습니다. 보통 한 줄로 구현되는 함수를 간결하게 표현하거나, 인자로 전달되는 함수를 inline으로 정의하기 위해 사용합니다.

14 Jun 2020

Python - 사용자로부터 데이터 입력 받는 방법(input)

Python에서 input()을 이용하면 사용자로부터 데이터를 입력받을 수 있습니다. 1개의 데이터를 받거나 여러 데이터를 한번에 받을 수 있습니다. 기본적으로 String 타입의 데이터가 리턴되며 필요에 따라서 int 또는 float 등으로 변환을 해야 합니다. 다양한 방법에 대해서 알아보겠습니다.

02 May 2020

Python - Text 파일 읽고 쓰는 방법 (read, write, append)

Text file을 읽고 쓰는 방법을 소개합니다. C, Java에서 파일을 읽고 쓰는 방법과 유사합니다. Access mode가 있어서 읽기 전용으로 파일을 사용할 것인지, 쓰기 전용으로 파일을 사용할 것인지 정할 수 있습니다. 또한 read, readline, readlines, write, writelines 등의 api를 제공해 줍니다.

02 May 2020

Python List 사용 방법 (append, remove, sorted, deep copy)

List는 Python에서 제공하는 collection 중 하나입니다. List는 순서가 있고, 변경이 가능한 collection입니다. 다양한 타입의 객체를 갖고 있을 수 있고, 또한 또한 중복된 값도 허용됩니다. List의 생성, 추가, indexing, 대입, 삭제, sorting, list comprehension 등에 대해서 알아보겠습니다.

18 Feb 2020

Python - String strip(), rstrip(), lstrip() 사용 방법 및 예제

Python에서 strip() 함수를 이용하면 문자열의 쓸모 없는 부분을 자를 수 있습니다. Python은 lstrip(), rstrip(), strip()을 제공합니다. Java 등의 다른 언어들도 strip()을 제공하며, 기능은 모두 비슷합니다.

17 Feb 2020

Python - String Formatting의 다양한 방법 정리(%, Str formatting, f-stirng)

Python의 String formatting에 대해서 정리하였습니다. % formatting, string formatting, f-string 으로 문자열을 formatting할 수 있습니다. padding, align, datetime, Named placeholders, Parameterized format 등을 적용하는 예제를 소개합니다.

08 Feb 2020

Python - 현재 디렉토리 위치(Working Directory) 얻는 방법

파이썬에서 파일의 위치 및 현재 디렉토리 위치를 구하는 방법들을 정리하였습니다. realpath, abspath, getcwd, getcwd 등 파이썬에서 기본적으로 제공하는 함수들을 이용하였습니다. 예제와 함께 파일 이름 및 파일 경로 등을 구하는 방법을 알아보겠습니다.

25 Mar 2019

Python3에서 다른 경로에 있는 파일을 import 하는 방법

파이썬에서 다른 경로에 있는 파일을 import할 수 있습니다. 동일경로, 하위경로, 상위 경로 등 케이스 별로 import하는 방법에 대해서 소개합니다. 또는 완전히 다른 경로에 있는 파일을 import할 수 있습니다. 예제와 함께 자세히 알아보겠습니다.

27 Jan 2019

Python에서 동적 import와 함수 호출 방법

파이썬에서 다른 파일의 함수를 사용하려면 `import`를 해야 합니다. 하지만 java의 relfection처럼 파이썬에서도 import를 하지 않고 동적으로 함수를 호출할 수 있습니다. __import__, inspect, getattr 등을 이용하여 동적으로 모듈을 import하고 호출하는 방법을 알아보겠습니다.

06 Jul 2018
codechachaCopyright ©2019 codechacha